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. JBPM4.4_jBPM4.4的流程定义语言(设计流程)

    1. jBPM4.4的流程定义语言(设计流程) 1.1. process(流程) 是.jpdl.xml的根元素,可以指定的属性有: 属性名 作用说明 name 流程定义的名称,用于显示. key 流程 ...

  2. ios开发之--从相机或相册选取图片,并带删除操作的demo

    多选图片的一个效果,如下图:

  3. ionic 页面加载事件及loading动画

    页面加载完成事件(非刷新情况下,页面切换是不会重复触发此事件的,只在第一次进入页面时触发,需要重复触发的话请使用 $ionicView.enter 事件) angular.module('app.co ...

  4. INSTALL_FAILED_INVALID_APK

    在项目中无意中把APP只写成了 xxx  没有xxx.xxx.xxx  掉坑里了,找了好久,给大家提不醒

  5. mysql触发器的实战经验-不错的文章

    1   引言 Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多 ...

  6. 浅谈Nutch插件机制(含开发实例)

    plugin(插件)为nutch提供了一些功能强大的部件,举个例子,HtmlParser就是使用比较普遍的用来分析nutch抓取的html文件的插件. 为什么nutch要使用这样的plugin系统? ...

  7. mySQL数据库三:命令行附录

    一:where 在上一篇,粗略的介绍了where,但是where后面可以跟其他的条件,现在我们来一一说明 1.between:在某两个值之间 我建立一个名为person的表,里面有id,name,ag ...

  8. PyQt4工具栏

    工具栏 菜单对程序中的所有命令进行分组防治,而工具栏则提供了快速执行最常用命令的方法. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from ...

  9. ajax返回值传给js全局变量

    1. $.ajaxSetup({ async : false //设置ajax为同步方式,异步方式的话在赋值时数据还未提取出来 });var t = ""; var enginee ...

  10. Oracle12cWindows安装、介绍及简单使用(图文)

    1.下载 地址为:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html 含企业版和 ...