jQuery实现简单的DIV拖动效果
本文实例讲述了jQuery实现简单的DIV拖动效果。分享给大家供大家参考,具体如下:
创建一个HTML文件,复制以下代码进去,修改jquery文件(没有的到网上去下一个,我使用的是jquery-1.8.2),即可以运行了
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>Jquery:鼠标拖动DIV</title>
<styletype="text/css">
div#computerMove{
position:absolute;
top:50px;
left:50px;
width:200px;
height:30px;
line-height:30px;
background-color:#00CCCC;
text-align:center;
color:#FFFFFF;
cursor:default;
}
</style>
</head>
<body>
<divid="computerMove">点击我拖动</div>
<scriptsrc="jquery-1.8.2.js"type="text/javascript"></script>
<scripttype="text/javascript">
$(document).ready(function(){
var$div=$("div#computerMove");
/*绑定鼠标左键按住事件*/
$div.bind("mousedown",function(event){
/*获取需要拖动节点的坐标*/
varoffset_x=$(this)[0].offsetLeft;//x坐标
varoffset_y=$(this)[0].offsetTop;//y坐标
/*获取当前鼠标的坐标*/
varmouse_x=event.pageX;
varmouse_y=event.pageY;
/*绑定拖动事件*/
/*由于拖动时,可能鼠标会移出元素,所以应该使用全局(document)元素*/
$(document).bind("mousemove",function(ev){
/*计算鼠标移动了的位置*/
var_x=ev.pageX-mouse_x;
var_y=ev.pageY-mouse_y;
/*设置移动后的元素坐标*/
varnow_x=(offset_x+_x)+"px";
varnow_y=(offset_y+_y)+"px";
/*改变目标元素的位置*/
$div.css({
top:now_y,
left:now_x
});
});
});
/*当鼠标左键松开,接触事件绑定*/
$(document).bind("mouseup",function(){
$(this).unbind("mousemove");
});
})
</script>
</body>
</html>
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》及《jQuery动画与特效用法总结》
希望本文所述对大家jQuery程序设计有所帮助。