(function ($) {
$.dragDrop=function (p) {
var cols=$(p.accepter),//accepter集
ground=[],//坐标空间
t,//被拖动元素
m={
},//被拖动元素属性集
tip=$("<div style='position:absolute;height:4px;overflow:hidden; background:#F30'></div>"),//占位元素
clone,
fly,//拖动启动开关
base,//被选中的垒
ball, //用于定位的accepter中对象
mark,//最后一次插入的相对对象
above=true,
befordrag=function (v) {
v.stopPropagation();
v.preventDefault();
m={
ex:v.clientX,ey:v.clientY+$(document).scrollTop(),x:t.position().left,y:t.position().top,w:t.outerWidth(true),h:t.outerHeight(true)
};
$(document).mousemove(ondrag).mouseup(afterdrag);
if(document.body.setCapture) {
t.get(0).setCapture();
t.get(0).onmousewheel=mousewheel
}
},
ondrag=function (v) {
v.preventDefault();
if(!fly) {
fly=true;
//将可移动元素的坐标存储到ground集合中。
makeGround();
tip.insertBefore(t);
mark=t.get(0);
//拖动元素的副文本样式
clone=t.clone().css({
"position":"absolute","opacity":0.5,"left":m.x,"top":m.y,"width":m.w,"z-index":125058687
}).insertAfter(t);
};
selectBase(v.clientX+$(document).scrollLeft(),v.clientY+$(document).scrollTop());
clone.css({
"left":v.clientX-m.ex+m.x,"top":v.clientY-m.ey+m.y+$(document).scrollTop()
});
//if($(base[3]).children().index(ball[3])==-1)
{//修正除IE8、firefox、chrome下的光标与拖动中的对象的显示异常
tip.insertBefore(ball[3]);
clone.insertAfter(ball[3]);
}
if(p.ondrag || typeof p.ondrag=="function")
{
p.ondrag(v,t,base[3],ball[3]);
}
},
//初始绑定事件
cols.find(p.target).each(function (i,o) {
(p.handle?$(o).find(p.handle):$(o)).mousedown(function (v) {
t=$(o);
befordrag(v)
})
});
分享到:
相关推荐
angular-drag.zip angular-drag.zip angular-drag.zip
拖拽插件、drag 拖拽插件、drag 拖拽插件、drag 拖拽插件、drag
拖拽drag.js
仿天猫drag验证的特效
VMware6.0深度完美汉化版+vmtools+Drag&Drop_FixPatch(1) VMware6.0深度完美汉化版+vmtools+Drag&Drop_FixPatch(2) 两卷下完才能解压. PS:本人看了评论很无语,这种事情还要我特地写个Notice出来.真的是程序员么...
簡單的js Drag 拖拽 不使用任何類庫 簡單的js Drag 拖拽 不使用任何類庫 簡單的js Drag 拖拽 不使用任何類庫 簡單的js Drag 拖拽 不使用任何類庫
bootstrap-table拖拽需要dragtable.css,jquery.dragtable.js,jquery-ui.js,bootstrap-table-reorder-columns.js
drag和drop事件
在原来的基础上稍微改动一下,实现datagrid 和treeview 之间的互相drag drop,简单示例
DragObject,silverlight 移动,拖动实例.
jQuery ui drag插件实现浮动div拖动排列布局代码,jQuery实现拖动布局并将排序结果保存到数据库
dom-drag定制自己的界面 免费分享
WPF Drag Drop例子
bootstrap-table拖拽需要dragtable.css,jquery.dragtable.js,jquery-ui.js,bootstrap-table-reorder-columns.js
Ole Drag and Drop Example.
Qt之QToolButton与QGroupBox实现动态拖拽Drag、Drop功能,可以随意拖放到QGroupBox内,也可以与现有的QToolButton交换位置,也可以拖拽出QGroupBox外释放
Qt Drag Drop之拖放.zip
drag sort listview android
DevExpress GridControl 控件内部行之间实现拖拽,实际拖拽后行移动过程未实现,可根据实际情况编写,适用GridControl在 winform或DockPanel、UserControl中
MFC程序---OLE实现Text文本和文件的Drag&Drop;。 编辑框、按钮、ListBox支持文本的拖拽功能;ListCtrl支持文件的拖入和拖出功能。