给自己参考的一段JS代码

var x,y,z,down=false,obj    
function init(event){
var evt = event ? event : (window.event ? window.event : null); //判断IE还是FF,定义事件源
obj = evt.srcElement ? evt.srcElement : evt.target;     //判断IE还是FF,事件触发对象
if (obj.setCapture) { //如果是IE
    obj.setCapture()            //设置属于当前对象的鼠标捕捉
}
else if (obj.captureEvents) { //如果是FF
    obj.captureEvents(evt.MOUSEMOVE | evt.MOUSEUP); //设置属于当前对象的鼠标捕捉
}
z = evt.z ? evt.z : evt.pageZ;
z=obj.style.zIndex          //获取对象的z轴坐标值
//设置对象的z轴坐标值为100,确保当前层显示在最前面
obj.style.zIndex = 100
var pagex;
var layerx;
pagex = evt.x ? evt.x : evt.pageX; //判断IE还是FF,获取鼠标指针位置相对于屏幕的对象的X坐标
layerx = evt.offsetX ? evt.offsetX : layerX;
x = evt.x ? evt.x : evt.pageX; //判断IE还是FF,获取鼠标指针位置相对于屏幕的对象的X坐标
y = evt.y ? evt.y : evt.pageY; //判断IE还是FF,获取鼠标指针位置相对于屏幕的对象的Y坐标
alert(x);
//x=evt.offsetX   //获取鼠标指针位置相对于触发事件的对象的X坐标
//y=evt.offsetY   //获取鼠标指针位置相对于触发事件的对象的Y坐标
down=true         //布尔值,判断鼠标是否已按下,true为按下,false为未按下
}

function moveit(){
//判断鼠标已被按下且onmouseover和onmousedown事件发生在同一对象上
if(down&&evt.srcElement==obj){
   with(obj.style){
/*设置对象的X坐标值为文档在X轴方向上的滚动距离加上当前鼠标指针相当于文档对象的X坐标值减鼠标按下时指针位置相对于触发事件的对象的X坐标*/

        posLeft=document.body.scrollLeft+evt.x-x
/*设置对象的Y坐标值为文档在Y轴方向上的滚动距离加上当前鼠标指针相当于文档对象的Y坐标值减鼠标按下时指针位置相对于触发事件的对象的Y坐标*/
        posTop=document.body.scrollTop+evt.y-y
   }
}
}

function stopdrag() {
    //onmouseup事件触发时说明鼠标已经松开,所以设置down变量值为false
    down = false
    obj.style.zIndex = z       //还原对象的Z轴坐标值
    if (obj.releaseCapture) { //如果是IE
        obj.releaseCapture() //释放当前对象的鼠标捕捉
    }
    else if (obj.releaseEvents) { //如果是FF
        obj.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP); //释放当前对象的鼠标捕捉

    }
}

转载于:https://www.cnblogs.com/ahjesus/archive/2010/12/03/1998634.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值