<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <style type="text/css"> *{ margin:0; padding:0;} #dragDiv{ width:200px; height:200px; position:absolute; top:100px; left:100px; background:#ddd;} </style> </head> <body> <div id="dragDiv"></div> <script type="text/javascript"> var dragDiv=document.getElementById('dragDiv'); //鼠標按下動做 dragDiv.onmousedown=function(event){ var e=event||window.event, t=e.target||e.srcElement, //鼠標按下時的座標x1,y1 x1=e.clientX, y1=e.clientY, //鼠標按下時的左右偏移量 dragLeft=this.offsetLeft, dragTop=this.offsetTop; document.onmousemove=function(event){ var e=event||window.event, t=e.target||e.srcElement, //鼠標移動時的動態座標 x2=e.clientX, y2=e.clientY, //鼠標移動時的座標的變化量 x=x2-x1, y=y2-y1; dragDiv.style.left=(dragLeft+x)+'px'; dragDiv.style.top=(dragTop+y)+'px'; } document.onmouseup=function(){ this.onmousemove=null; } } </script> </body> </html>
鼠標拖曳的效果,ps:下面的代碼在火狐下是有bug的,這是由於拖拽元素的innerHTML是空的,解決辦法能夠加空的<span></span>標籤或讓其裏面有內容便可,有興趣可 以試一下javascript