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 相关文章推荐
jQuery 1.0.2
Oct 11 Javascript
javascript实现轮显新闻标题链接
Aug 13 Javascript
js 获取服务器控件值的代码
Mar 05 Javascript
Javascript执行效率全面总结
Nov 04 Javascript
js取模(求余数)隔行变色
May 15 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
Jun 05 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
Vue实现一个返回顶部backToTop组件
Jul 25 Javascript
原生JS 购物车及购物页面的cookie使用方法
Aug 21 Javascript
Jquery获取radio选中值实例总结
Jan 17 jQuery
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 Javascript
Vue中正确使用Element-UI组件的方法实例
Oct 13 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 curl选项列表(超详细)
2013/07/01 PHP
php缓冲输出实例分析
2015/01/05 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
php文件上传类的分享
2017/07/06 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
js计算精度问题小结
2013/04/22 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
什么是继承
2013/12/07 面试题
留学推荐信写作指南
2014/01/25 职场文书
商务助理求职信范文
2014/04/20 职场文书
社团活动总结报告
2014/06/27 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
2014年质量工作总结
2014/11/22 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python