jquery.dragsort实现列表拖曳、排序
在一次工作中需要将功能模块实现拖曳并且排序,并且将排序结果保存到数据库,用户下次登录后直接读取数据库排序信息进行显示。LZ找了好多插件,最后发现 jquery.dragsort 这款插件是最好使用的,使用简单,配置方便。
![]()
下面我将演示如何使用该插件:
一、导入js。该插件是基于jQuery开发的,所以我们除了要导入jquery.dragsort.js外还需要导入jQuery。
二、HTML部分
<div class="model_main">
<ul class="dragsort" id="modelDragsort">
<li>
<div class="modelMain">
<div class="main">
<div class="modelTitle"><a href="javascript:void(0)"></a></div>
<div class="modelContent">
<span class="contentImage"><img src="../resources/images/wyzs_01.png"/></span>
<span class="title">XXXXXX</span>
<a>XXXXXX</a>
</div>
</div>
</div>
</li>
<li>
<div class="modelMain">
<div class="main">
<div class="modelTitle"><a href="javascript:void(0)"></a></div>
<div class="modelContent">
<span class="contentImage"><img src="../resources/images/wyzn_01.png"/></span>
<span class="title">XXXXXX</span>
<a>XXXXXX</a>
</div>
</div>
</div>
</li>
<li>
<div class="modelMain">
<div class="main">
<div class="modelTitle"><a href="javascript:void(0)"></a></div>
<div class="modelContent">
<span class="contentImage"><img src="../resources/images/cjwt_01.png"/></span>
<span class="title">XXXXXX</span>
<a>XXXXXX</a>
</div>
</div>
</div>
</li>
<li>
<div class="modelMain">
<div class="main">
<div class="modelTitle"><a href="javascript:void(0)"></a></div>
<div class="modelContent">
<span class="contentImage"><img src="../resources/images/bdxz_01.png"/></span>
<span class="title">XXXXXX</span>
<a>XXXXXX</a>
</div>
</div>
</div>
</li>
</ul>
</div>
三、JS实现
$("#modelDragsort").dragsort({
dragSelector: "div.modelTitle", //容器拖动手柄
dragBetween: true, //
dragEnd:saveOrder, //执行之后的回调函数
dragSelectorExclude : "div.modelContent", //指定不会执行动作的元素
placeHolderTemplate: "<li class='placeHolder'><div></div></li>", //拖动列表的HTML部分
scrollSpeed: 15 //拖动速度
});
OVER!!!就是这么简单!!!!结果:
![]()
下面博主还是提供上门的CSS样式代码:
.model_main{
width: 1001px;
height: 270px;
margin: 5px auto;
}
.model_main ul{
margin: 0px;
padding: 0px;
}
.model_main ul li{
margin-left: 11px;
float: left;
}
.model_main ul li:first-child{
margin-left:0px;
}
.modelMain{
width: 240px;
height: 260px;
margin-top: 0px;
border: 1px solid #C5C5C5;
float: left;
}
.modelMain .main{
width: 232px;
height: 252px;
border: 3px solid #FFFFFF;
}
.modelTitle{
width: 240px;
margin: 0px 0px;
padding-right: 10px;
height: 30px;
cursor: move;
}
.modelTitle a{
display: block;
width: 19px;
height: 19px;
background-image: url("../images/closeA_01.png");
float: right;
margin-top: 10px;
margin-right: 20px;
cursor: pointer;
}
.modelTitle a:hover{
background-image: url("../images/closeA_02.png");
}
.modelContent{
width: 210px;
margin: 10px auto;
height:200px;
border: 1px solid #FFFFFF;
background-color: #FFFFFF;
cursor: pointer;
}
.modelContentHover{
width: 210px;
margin: 10px auto;
height:200px;
border: 1px solid #960010;
background-color: #C11A16;
cursor: pointer;
}
.modelContent .title{
font-size: 20px;
font-weight: bold;
display: block;
width: 156px;
height:30px;
text-align: center;
margin: 0px auto;
line-height: 30px;
}
.modelContent a{
font-size: 14px;
display: block;
width: 156px;
height:20px;
text-align: center;
margin: 0px auto;
line-height: 20px;
cursor: pointer;
}
.contentImage{
display: block;
width: 116px;
height: 116px;
margin: 13px auto;
}
解释说明:
dragSelector :CSS选择器内的元素的列表项的拖动手柄。默认值是“li”。
dragSelectorExclude :CSS选择器的元素内的dragSelector不会触发dragsort的。默认值是”input, textarea, a[href]“。
dragEnd :拖动结束后将被调用的回调函数。(想执行入库操作,就在这里做吧)
dragBetween :设置为“true”,如果你要启用多组列表之间拖动选定的列表。 默认值是false。
placeHolderTemplate :拖动列表的HTML部分。默认值是”<li></li>”.
scrollContainer :CSS选择器的元素,作为滚动容器,例如溢出的div设置为自动。 默认值是“窗口“.
scrollSpeed :一个数字,它代表了速度,页面拖动某一项时,将滚动容器外,较高使用价值的是速度和较低的值是较慢的。 如果设置为”0″以禁用滚动。默认值是”5″.
jquery.dragsort实现列表拖曳、排序的更多相关文章
- easyui datagrid 点击列表头排序出现错乱的原因
之前我的导师,也就是带我的同事,使用datagrid,发现点击列表头排序出现乱序,按理说只有顺序和逆序两种排序结果.因为他比较忙,当时没解决,把排序禁掉了,后来又要求一定要排序,所以他交给我. 一开始 ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 设置排序
jQuery EasyUI 数据网格 - 设置排序 本实例演示如何通过点击列表头来排序数据网格(DataGrid). 数据网格(DataGrid)的所有列可以通过点击列表头来排序.您可以定义哪列可以排 ...
- jquery.dragsort.js 实现拖拽过程遇到的问题
.在IE下第一次拖动的时候,被拖动的li元素会不显示,查了很多资料发现是因为在IE中定位出了问题,li标签还在,只是位置计算出错.解决的办法是在li的css样式中position设置为relative ...
- Python list列表的排序
当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...
- python内置数据类型-字典和列表的排序 python BIT sort——dict and list
python中字典按键或键值排序(我转!) 一.字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序. Py ...
- 多行滚动jQuery循环新闻列表代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 自定义排序
jQuery EasyUI 数据网格 - 自定义排序 如果默认的排序行为不满足您的需求,您可以自定义数据网格(datagrid)的排序行为. 最基础的,用户可以在列上定义一个排序函数,函数名是 sor ...
- [转载]EF或LINQ 查询时使用IN并且根据列表自定义排序方法
原文地址:EF或LINQ 查询时使用IN并且根据列表自定义排序方法作者:李明川 EF和LINQ改变了原有的手写SQL时期的一些编码方法,并且增强了各数据库之间的移植性简化了开发时的代码量和难度,由于很 ...
- iRSF快速简单易用的实现列表、排序、过滤功能
IRSF 是由javascript编写,iRSF快速简单易用的实现列表.排序.过滤功能(该三种操作以下简称为 RSF ). iRSF由三个类组成. iRSFSource 数据源 iRSFFilter ...
随机推荐
- Linux 命令 - ls: 列出目录内容
ls 命令很可能是用户最常使用的命令,通过 ls 命名可以查看目录内容,确定各种重要文件和目录的属性. 命令格式 ls [OPTION]... [FILE]... 命令参数 -a, --all 列出所 ...
- 有些方法为什么会声明称static静态的
有些方法在调用的时候,没有必要都要先实例化一下,只需要:[类名. 静态方法 ]就行了. 哪些方法的调用没有必要实例化呢?网上找了个例子: 举个例子:Car类,1.静态方法Run(),Car.Run() ...
- sql常识-Join
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. Join 和 Key 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果.我们就需要执行 join. 数据库中的表 ...
- Cocos2d-x加速度计实例:运动的小球
下面我们通过一个实例介绍一下如果通过层加速度计事件实现访问加速度计.该实例场景如下图所示,场景中有一个小球,当我们把移动设备水平放置,屏幕向上,然后左右晃动移动设备来改变小球的位置. 下面我们再看看具 ...
- Tab 防刷新
今天发现项目中有个小毛病,就是tab老是刷新,就上网Copy了一份防止刷新的Tab例子,谢咯. 贴上来参考一下: <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- ASP.NET WEB API 初探
本文初步介绍如何简单创建一个ASP.NET Web Api 程序. Web Api 顾名思义就是一个Api接口,客户端可调用此接口进行业务操作.此类应用与 ASP.NET web服务(即使用扩展名. ...
- 验证hashmap非线程安全
http://www.blogjava.net/lukangping/articles/331089.html final HashMap<String, String> firstHas ...
- [Bootstrap]全局样式(一)
页面必须设置为html5文档类型 <!DOCTYPE html> <html lang="zh-CN"> ... </html> 适应移动设备 ...
- [WinForm]DataGridView列自适应
关键代码: /// <summary> /// 根据cell内容调整其宽度 /// </summary> /// <param name="girdview&q ...
- document.compatMode的CSS1compat
document.compatMode BackCompat:标准兼容模式关闭.浏览器宽度:document.body.clientWidth: CSS1Compat:标准兼容模式开启. 浏览器宽度: ...