js鼠标拖动对象:
复制代码 代码如下:
//定义鼠标拖动对象
drag=function (a,o){
var d=document;if(!a)a=window.event;
if(!a.pageX)a.pageX=a.clientX;
if(!a.pageY)a.pageY=a.clientY;
var x=a.pageX,y=a.pageY;
if(o.setCapture)
o.setCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
var backData = {x : o.style.top, y : o.style.left};
d.onmousemove=function(a){
if(!a)a=window.event;
if(!a.pageX)a.pageX=a.clientX;
if(!a.pageY)a.pageY=a.clientY;
var tx=a.pageX-x+parseInt(o.style.left),ty=a.pageY-y+parseInt(o.style.top);
o.style.left=tx+"px";
o.style.top=ty+"px";
x=a.pageX;
y=a.pageY;
};
d.onmouseup=function(a){
if(!a)a=window.event;
if(o.releaseCapture)
o.releaseCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove=null;
d.onmouseup=null;
if(!a.pageX)a.pageX=a.clientX;
if(!a.pageY)a.pageY=a.clientY;
if(!document.body.pageWidth)document.body.pageWidth=document.body.clientWidth;
if(!document.body.pageHeight)document.body.pageHeight=document.body.clientHeight;
if(a.pageX < 1 || a.pageY < 1 || a.pageX > document.body.pageWidth || a.pageY > document.body.pageHeight){
o.style.left = backData.y;
o.style.top = backData.x;
}
};
}
使用方法:
复制代码 代码如下:
<div id="divPhoto" onmousedown="drag(event,this)"></div>
您可能感兴趣的文章:
- 基于JS组件实现拖动滑块验证功能(代码分享)
- 基于JavaScript实现拖动滑块效果
- Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
- js用拖动滑块来控制图片大小的方法
- js拖动滑块和点击水波纹效果实例代码
- js实现兼容PC端和移动端滑块拖动选择数字效果
- JS响应鼠标点击实现两个滑块区间拖动效果
- javascript 事件处理、鼠标拖动效果实现方法详解
- js实现可拖动DIV的方法
- JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
- 原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】