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的更多相关文章

随机推荐

  1. android大扫盲之SurfaceView,SurfaceHolder,SurfaceHolder.CallBack

    最近接触到了SurfaceView,SurfaceHolder,SurfaceHolder.CallBack,一直不求其解,现在来粗浅认识一下它们. 先看一下官方的定义: 1.SurfaceView ...

  2. 最全Java学习路线图——Java学习指南

    准备篇 适用/适合人群:适合基础小白 目标:掌握JavaSE. ●技术点小节: 1.开发工具的安装配置的介绍 2.JDK安装 3.DOS环境编程 4.Eclipse的安装使用 ●JAVA基础 1.基本 ...

  3. c#.net常用函数和方法集

    1.DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.D ...

  4. 拼凑sql语句另外一个方法

    经常拼凑sql语句,经常是手工拼写 也可以利用字典另外一个模式拼凑 这里采用的是Dictionary中的Aggregate方法. 代码如下: static void Main(string[] arg ...

  5. js简单的弹出框有关闭按钮

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 制作Windows U盘镜像

    目的:制作windows server 2008 U盘镜像 需要的共具: 1.一个格式为FAT并且至少4G的U盘, 2.UltraISO软件, 3.一个windows server 2008 ISO文 ...

  7. 让nginx支持.htaccess文件实现伪静态的方法!

    搞了个VPS,装了个LNMP一键安装包,然后搞了个程序放上,想实现伪静态,但是lnmp的默认规则里没有河蟹男需要的伪静态文件,得自己配置, 以前只在.htaccess里搞下就行,现在换Linux下ng ...

  8. 通过WireShark抓取iOS联网数据实例分析

    本文转载至http://blog.csdn.net/lixing333/article/details/7782539 iosiphone网络filter工具 我在另外一篇博客里,介绍了一款比Wire ...

  9. 【WebService】使用jaxb完成对象和xml的转换

    package com.slp.jxmarshaller; /** * Created by sanglp on 2017/2/26. */ public class ClassName { priv ...

  10. 图论之最短路径(3)队列优化的Bellman-Ford算法(SPFA算法)

    在Bellman-Ford算法中 我们可以看到大量的优化空间:如果一个点的最短路径已经确定了,那么它就不会再改变,因此不需要再处理.换句话说:我们每次只对最短路径改变了的顶点的所有出边进行操作 使用一 ...