jQuery拖拽插件gridster使用指南


Posted in Javascript onApril 21, 2015

gridster.js 是一个 jQuery 插件用来构建直观的可拖放的布局,支持多列布局,你还可以动态的添加和删除表格中的元素。

1.gridster插件功能

实现类似于win8 磁贴拖拽的功能

2.gridster官方地址

http://gridster.net/

在官方的网站上也有插件的帮助和实例,但是按照官方的说明,我在本地测试总是出现这样那样的问题,一是无法移动,二是在磁铁的附近有一个黑点,可能是定位使用的。但是如果在网站中正常使用,应该不会出现这样的黑点。gridster插件的属性和方法在官网上有详细说明。

经过测试了一下,最后终于解决了问题。效果显示如下:

jQuery拖拽插件gridster使用指南

3.gridster使用方法

1.首先引用js文件

<script type="text/javascript" src=" jquery-1.7.2.min.js"></script>
<script type="text/javascript" src=" jquery.gridster.js"></script>
<link rel="stylesheet" type="text/css" href=" style.css" />

2.用到的css

<style type="text/css">
.handle {
  border-bottom: 1px solid black;
}
.small img{
  height:83px;
  width:97px;
}
.gridster {
  position:relative;
  background-color:#CCC;
} 

li {
  background-color: white;
  width: 150px;
  height: 300px;
  border: solid 2px black;
}

.gridster > * {
  margin: 0 auto;
  -webkit-transition: height .4s;
  -moz-transition: height .4s;
  -o-transition: height .4s;
  -ms-transition: height .4s;
  transition: height .4s;
}

.gridster .gs_w{
  z-index: 2;
  position: absolute;
}

.ready .gs_w:not(.preview-holder) {
  -webkit-transition: opacity .3s, left .3s, top .3s;
  -moz-transition: opacity .3s, left .3s, top .3s;
  -o-transition: opacity .3s, left .3s, top .3s;
  transition: opacity .3s, left .3s, top .3s;
}

.ready .gs_w:not(.preview-holder) {
  -webkit-transition: opacity .3s, left .3s, top .3s, width .3s, height .3s;
  -moz-transition: opacity .3s, left .3s, top .3s, width .3s, height .3s;
  -o-transition: opacity .3s, left .3s, top .3s, width .3s, height .3s;
  transition: opacity .3s, left .3s, top .3s, width .3s, height .3s;
}

.gridster .preview-holder {
  z-index: 1;
  position: absolute;
  background-color: #fff;
  border-color: #fff;
  opacity: 0.3;
}

.gridster .player-revert {
  z-index: 10!important;
  -webkit-transition: left .3s, top .3s!important;
  -moz-transition: left .3s, top .3s!important;
  -o-transition: left .3s, top .3s!important;
  transition: left .3s, top .3s!important;
}

.gridster .dragging {
  z-index: 10!important;
  -webkit-transition: all 0s !important;
  -moz-transition: all 0s !important;
  -o-transition: all 0s !important;
  transition: all 0s !important;
}
p{
  margin:10px;
}

3.使用的js代码

$(function(){

  $(".gridster ul").gridster({
    widget_margins: [5, 5],
    widget_base_dimensions: [100, 100],
    draggable: {
      handle: '.handle'
    }
  });
  var gridster = $(".gridster ul").gridster().data('gridster');
});

4.使用的html

<div class="gridster">
  <ul id="reszable">
    <li data-row="1" data-col="1" data-sizex="1" data-sizey="1"><div class="handle">1</div><div class="small"><img src="test.jpg" /></div></li>
    <li data-row="2" data-col="1" data-sizex="1" data-sizey="1"><div class="handle">2</div></li>
    <li data-row="3" data-col="1" data-sizex="1" data-sizey="1"><div class="handle">3</div></li>
    <li data-row="1" data-col="2" data-sizex="2" data-sizey="1"><div class="handle">4</div></li>
    <li data-row="2" data-col="2" data-sizex="2" data-sizey="2"><div class="handle">5</div><p>
    Like no other javascript library, Parsley has a full support for #UX concerns and detailed options. Override almost every Parsley default behaviors to fit your exact needs.</p></li>
    <li data-row="1" data-col="4" data-sizex="1" data-sizey="1"><div class="handle">6</div></li>
    <li data-row="2" data-col="4" data-sizex="2" data-sizey="1"><div class="handle">7</div></li>
    <li data-row="3" data-col="4" data-sizex="1" data-sizey="1"><div class="handle">8</div></li>
    <li data-row="1" data-col="5" data-sizex="1" data-sizey="1"><div class="handle">9</div></li>
    <li data-row="3" data-col="5" data-sizex="1" data-sizey="1"><div class="handle">10</div></li>
    <li data-row="1" data-col="6" data-sizex="1" data-sizey="1"><div class="handle">11</div></li>
    <li data-row="2" data-col="6" data-sizex="1" data-sizey="2"><div class="handle">12</div></li>
    <li data-row="1" data-col="7" data-sizex="1" data-sizey="1"><div class="handle">13</div></li>
    <li data-row="2" data-col="7" data-sizex="1" data-sizey="1"><div class="handle">14</div></li>
    <li data-row="3" data-col="7" data-sizex="1" data-sizey="1"><div class="handle">15</div></li>
  </ul>
</div>

4.gridster使用说明

gridster插件在chrome与firefox中使用正常,特效显示页正常。但是在ie8一下显示正常,但是拖拽特效无法显示。

现在你可以打开来看看这个拖动效果了,Oh,买尬的!也会你会发现很不流畅,这个或许是girdster的小bug或者说不完美的地方,如何改进,明天再讲!

Javascript 相关文章推荐
HTML node相关的一些资料整理
Jan 01 Javascript
20个非常有用的PHP类库 加速php开发
Jan 15 Javascript
JavaScript 面向对象的之私有成员和公开成员
May 04 Javascript
模拟select的代码
Oct 19 Javascript
javascript中[]和{}对象使用介绍
Mar 20 Javascript
JQUERY 设置SELECT选中项代码
Feb 07 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
Aug 05 Javascript
node.js中的socket.io的广播消息
Dec 15 Javascript
基于JavaScript实现回到页面顶部动画代码
May 24 Javascript
如何使用jquery实现文字上下滚动效果
Oct 12 Javascript
javascript实现滑动解锁功能
Mar 22 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
Jul 17 Javascript
jQuery弹出层插件Lightbox_me使用指南
Apr 21 #Javascript
jQuery提示插件alertify使用指南
Apr 21 #Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
Apr 20 #Javascript
Jquery遍历Json数据的方法
Apr 20 #Javascript
javascript判断变量是否有值的方法
Apr 20 #Javascript
javascript实现校验文件上传控件实例
Apr 20 #Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 #Javascript
You might like
php批量删除数据
2007/01/18 PHP
php getsiteurl()函数
2009/09/05 PHP
php 错误处理经验分享
2011/10/11 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
php 启动报错如何解决
2014/01/17 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
javascript document.referrer 用法
2009/04/30 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
举例讲解Python常用模块
2019/03/08 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
python创建子类的方法分析
2019/11/28 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
制药工程专业应届生求职信
2013/09/24 职场文书
办公室副主任岗位职责
2013/11/25 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
教师节活动总结
2014/08/29 职场文书
2014年招生工作总结
2014/11/26 职场文书
活着观后感
2015/06/03 职场文书
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL