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 相关文章推荐
javascript操作html控件实例(javascript添加html)
Dec 02 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
Nov 07 Javascript
微信小程序 地图map详解及简单实例
Jan 10 Javascript
Ionic 2 实现列表滑动删除按钮的方法
Jan 22 Javascript
Angular2 组件通信的实例代码
Jun 23 Javascript
基于element-ui的rules中正则表达式
Sep 04 Javascript
如何从零开始手写Koa2框架
Mar 22 Javascript
vue获取验证码倒计时组件
Aug 26 Javascript
微信小程序3D轮播实现代码
Sep 19 Javascript
vue 页面回退mounted函数不执行的解决方案
Jul 26 Javascript
js在HTML的三种引用方式详解
Aug 29 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
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
基于Bootstrap+jQuery.validate实现表单验证
2016/05/30 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
python中for语句简单遍历数据的方法
2015/05/07 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
VSCode配合pipenv搞定虚拟环境的实现方法
2020/05/17 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
大学生开西餐厅创业计划书
2014/02/01 职场文书
一帮一活动总结
2014/05/08 职场文书
2014中考励志标语
2014/06/05 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
客房部经理岗位职责
2015/02/02 职场文书
民事调解书范文
2015/05/20 职场文书
浅谈Python项目的服务器部署
2021/04/25 Python
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers