Tdrag
Tdrag属于拖拽类的一款插件,基于jquery而成,兼容1.4以上版本的jquery,兼容浏览器:chrome、firfox、IE7等以上主流浏览器
插件加载
<script type="text/javascript" src="JavaScript/jquery1.7.2.js"></script>
<script type="text/javascript" src="JavaScript/Tdrag.js"></script>
插件调用
html代码:
<div class="div1"></div>
js代码:
$(".div1").Tdrag();
父级限制
html代码:
<div class="boxList">
<div class="div3"></div>
</div>
js代码:
$(".div3").Tdrag({
scope:".boxList"
});
拖拽规范网格
html代码:
<div class="boxList">
<div class="div4"></div>
</div>
js代码:
$(".div4").Tdrag({
scope:".boxList",
grid:[50,50]
});
X轴拖拽或者Y轴拖拽
html代码:
<div class="boxList">
<div class="one onlyX"></div>
<div class="one onlyY"></div>
</div>
js代码:
$(".onlyX").Tdrag({
scope:".boxList",
axis:"x"
});
$(".onlyY").Tdrag({
scope:".boxList",
axis:"y"
});
记住位置
html代码:
<div class="one div5"></div>
js代码:
$(".div5").Tdrag({
pos:true
});
拖拽块内指定区域
html代码:
<div class="boxList">
<div class="one div6">
<div class="title">title</div>
</div>
</div>
js代码:
$(".div6").Tdrag({
scope:".boxList",
handle:".title"
});
点住、移动、结束时的回调函数
html代码:
<div class="boxList">
<div class="one div7">
</div>
<div>
start:<p class="start">0</p>
move:<p class="move">0</p>
end:<p class="end">0</p>
</div>
</div>
js代码:
$(".div7").Tdrag({
scope:".boxList",
cbStart:function(){$(".start").html(Number($(".start").html())+1)},//移动前的回调函数
cbMove:function(){$(".move").html(Number($(".move").html())+1)},//移动中的回调函数
cbEnd:function(){$(".end").html(Number($(".end").html())+1)}//移动结束时候的回调函数
});
多个块换位拖拽
html代码:
<div class="boxList">
<div class="one div8"><div class="title">1</div></div>
<div class="one div8"><div class="title">2</div></div>
<div class="one div8"><div class="title">3</div></div>
<div class="one div8"><div class="title">4</div></div>
<div class="one div8"><div class="title">5</div></div>
<div class="one div8"><div class="title">6</div></div>
<div class="one div8"><div class="title">7</div></div>
<div class="one div8"><div class="title">8</div></div>
<div class="one div8"><div class="title">9</div></div>
<div class="one div8"><div class="title">10</div></div>
</div>
js代码:
$(".div8").Tdrag({
scope:".boxList",
pos:true,
dragChange:true
});
排序换位拖拽
html代码:
<div class="boxList">
<div class="one div9"><div class="title">1</div></div>
<div class="one div9"><div class="title">2</div></div>
<div class="one div9"><div class="title">3</div></div>
<div class="one div9"><div class="title">4</div></div>
<div class="one div9"><div class="title">5</div></div>
<div class="one div9"><div class="title">6</div></div>
<div class="one div9"><div class="title">7</div></div>
<div class="one div9"><div class="title">8</div></div>
<div class="one div9"><div class="title">9</div></div>
<div class="one div9"><div class="title">10</div></div>
</div>
js代码:
$(".div9").Tdrag({
scope:".boxList",
pos:true,
dragChange:true,
changeMode:"sort"
});
排序换位拖拽
在移动过程中每两个块相触碰时所添加的class
html代码:
<div class="boxList">
<div class="one div10"><div class="title">1</div></div>
<div class="one div10"><div class="title">2</div></div>
<div class="one div10"><div class="title">3</div></div>
<div class="one div10"><div class="title">4</div></div>
<div class="one div10"><div class="title">5</div></div>
</div>
js代码:
$(".div10").Tdrag({
scope:".boxList",
pos:true,
dragChange:true,
changeMode:"sort",
moveClass:"abc"
});
随机变化位置
random属性属于加载时自动随机,randomInput属于给按钮加上事件,而我们也为随机数增加一种randomfn()方法,方便调用。
html代码:
<input class="plug_random" type="button" value="通过插件随机">
<input class="fn_random" type="button" value="通过函数随机">
<div class="boxList">
<div class="one div11"><div class="title">1</div></div>
<div class="one div11"><div class="title">2</div></div>
<div class="one div11"><div class="title">3</div></div>
<div class="one div11"><div class="title">4</div></div>
<div class="one div11"><div class="title">5</div></div>
<div class="one div11"><div class="title">6</div></div>
<div class="one div11"><div class="title">7</div></div>
<div class="one div11"><div class="title">8</div></div>
<div class="one div11"><div class="title">9</div></div>
<div class="one div11"><div class="title">10</div></div>
<div class="one div11"><div class="title">11</div></div>
<div class="one div11"><div class="title">12</div></div>
<div class="one div11"><div class="title">13</div></div>
<div class="one div11"><div class="title">14</div></div>
<div class="one div11"><div class="title">15</div></div>
</div>
js代码:
$(".div11").Tdrag({
scope:".boxList",
pos:true,
dragChange:true,
random:true,
randomInput:".plug_random"
});
$(".fn_random").on("click",function(){
$.randomfn(".div11")
})
变化位置时动画参数
duration是每次运动的总用时,easing是运动的方法:ease-out、ease-in、linear
html代码:
<div class="boxList">
<div class="one div12"><div class="title">1</div></div>
<div class="one div12"><div class="title">2</div></div>
<div class="one div12"><div class="title">3</div></div>
<div class="one div12"><div class="title">4</div></div>
<div class="one div12"><div class="title">5</div></div>
<div class="one div12"><div class="title">6</div></div>
<div class="one div12"><div class="title">7</div></div>
<div class="one div12"><div class="title">8</div></div>
<div class="one div12"><div class="title">9</div></div>
<div class="one div12"><div class="title">10</div></div>
</div>
js代码:
$(".div12").Tdrag({
scope:".boxList",
pos:true,
dragChange:true,
animation_options:{
duration:200,//每次动画的事件
easing:"ease-in"//动画特效 ease-out、ease-in、linear
}
});
禁止拖拽
disable属性属于加载时自动禁止拖拽,randomInput属于给按钮加上事件,点击时如果是禁止的,就是开启。反而如果时开启的,点击就是禁止而我们也为随机数增加两种disable方法,一个只能开启拖拽:disable_open(),一个只能禁止拖拽:disable_cloose(),方便调用。
html代码:
<input type="button" class="disable" value="插件按钮">
<input type="button" class="disable_open" value="函数开启拖拽">
<input type="button" class="disable_cloose" value="函数禁止拖拽">
<div class="boxList">
<div class="one div13"></div>
</div>
js代码:
$(".div13").Tdrag({
scope:".boxList",
disable:true,
disableInput:".disable"
});
//禁止
$(".disable_cloose").on("click",function(){
$.disable_cloose()
});
//开启
$(".disable_open").on("click",function(){
$.disable_open()
});
另附一份插件参数初始值
var call = {
scope: null,//父级
grid: null,//网格
axis:"all",//上下或者左右
pos:false,//是否记住位置
handle:null,//手柄
moveClass:"tezml",//移动时不换位加的class
dragChange:false,//是否开启拖拽换位
changeMode:"point",//point & sort
cbStart:function(){},//移动前的回调函数
cbMove:function(){},//移动中的回调函数
cbEnd:function(){},//移动结束时候的回调函数
random:false,//是否自动随机排序
randomInput:null,//点击随机排序的按钮
animation_options:{//运动时的参数
duration:800,//每次运动的时间
easing:"ease-out"//移动时的特效,ease-out、ease-in、linear
},
disable:false,//禁止拖拽
disableInput:null//禁止拖拽的按钮
};
Tdrag的更多相关文章
随机推荐
- java获取Mp3播放时长
最近有一个用java获取mp3播放时长的需求,有两种,一种本地文件,一种网络文件,其中获取网络mp3播放时间的方法找了挺久终于找到个能用的了. 第一种很简单,下载个jar包 jaudiotagger ...
- vs2013配置opencv3.2.0
工具/原料 l VS2013 l OpenCV3.20http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-win/3.2.0/op ...
- _T("D:\\122.txt")【字符集问题】或【类型转换问题】
项目->属性->常规->字符集->使用多字节字符集!时用_T("Filename"), 貌似不是字符集的问题! 1.使用替换,,,后, _T(" ...
- javascript变量声明前置
变量声明前置: 所谓的变量声明前置就是在一个作用域块中,所有的变量都被放在块的开始出声明,下面举个例子你就能明白了 var a = 1; function main() { console.log(a ...
- iis部署网站,使用虚拟路劲
此前一直使用vs2010,没有考虑过配置IIS,但是一个项目完成后交付给甲方使用.肯定是要考虑IIS的安装和部署的.现从IIS的安装和asp.NET项目的部署两个方面讲解. IIS安装: 网上很多教程 ...
- Spring------SpringBoot中注解
转载: http://www.tuicool.com/articles/bQnMra
- api数据接口
阿凡达数据 http://www.avatardata.cn/ 聚合数据 https://www.juhe.cn/
- PHP代码审计 -1.SQL注入总结
0x01 背景 最近在学习PHP代码审计,这里做一个SQL注入总结,是对自己学习知识的总结,也是为自己学习的笔记,方便自己反复翻阅. 0x02 PHP代码审计-SQL注入 挖掘SQL ...
- Extjs6 Sdk中常用文件的作用
一.框架文件 ext.js: 压缩版. 动态加载扩展类的基础框架. ext-all.js: 压缩版. 包含框架全部类. ext-all-debug.js: 未压缩版. 包含框架全部类 ext-debu ...
- thinkphp5 Windows下用Composer引入官方GitHub扩展包
很多新手,比如说我,写代码就是在windows下,所以总会遇到很多不方便的地方,比如说GitHub上面的代码更新了,要是你在linux,只要几行命令就可以搞定更新了,在windows下面,你需要用到C ...