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程序设计有所帮助。