js拖拽
采用簡單的閉包實現方式
代碼如下:
/**
* Created with JetBrains WebStorm
* User: lsj
* Date:
* Time: 下午
* To change this template use File | Settings | File Templates
*/
var dragmanager=(function()
{
//標識移動元素z軸坐標
var index_z=
//當前的拖拽元素
var drganow;
//移動標識符號
var dragbegin=false;
//鼠標點擊時距離div左邊距離
var relativex=
//鼠標點擊時距離div上邊距離
var relativey=
//標識鼠標是否移出
var isout=false;
return {
/**
* 為document綁定鼠標提起事件
*/
bingDocOnMouseUp:function()
{
//注冊全局的onmouseup事件
document
{
var ev = window
if(isout && dragbegin)
{
//改變div的相對位置
drganow
drganow
drganow
dragbegin=false;
isout=false;
}
}
}
/**
* 將注入的元素綁定事件
* @param el
*/
registerElementEv:function(element)
{
element
{
var ev = window
var clientx=ev
var clienty= ev
var left= parseInt(this
var top= parseInt(this
relativex=clientx
relativey=clienty
index_z++;
this
drganow=this;
dragbegin=true;
}
element
{
var ev = window
//開始拖拽
if(dragbegin)
{
//改變div的相對位置
this
this
this
}
}
element
{
isout=true;
}
element
{
var ev = window
if(dragbegin)
{
//改變div的相對位置
drganow
drganow
drganow
dragbegin=false;
}
}
}
}
})();
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20315.html