支持IE,firefxo,chrome浏览器下鼠标拖动和拖拽的鼠标指针特效
核心代码:
<!DOCTYPEhtml> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title>鼠标拖动和拖拽的鼠标指针特效</title> <style> #box{width:100px;height:100px;background:#966;position:absolute;left:100px;top:100px;cursor:pointer;} </style> </head> <body> <divid="box"></div> <script> vardoc=document; functiongetViewport(){ return{width:Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth), height:Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight) }; } functioncompareNum(x,minNum,maxNum){ switch(true){ casex<minNum:x=minNum;break; casex>maxNum:x=maxNum;break; default:x; } returnx; } box.style.left='100px' box.style.top='100px' box.onmousedown=function(e){ vare=e||window.event; varmaxL=getViewport().width-100, maxT=getViewport().height-100; this.startL=parseInt(this.style.left); this.startT=parseInt(this.style.top); //alert(e.clientX) this.startX=e.clientX; this.startY=e.clientY; //alert(maxL+':'+maxT+':'+L+':'+T) doc.onmousemove=function(e){ posXY(e,0,0,maxL,maxT); }; doc.onmouseup=function(){ doc.onmousemove=null; doc.onmouseup=null; }; returnfalse; } functionposXY(e,minL,minT,maxL,maxT){ vare=e||window.event; varx=box.startL-(box.startX-e.clientX); vary=box.startT-(box.startY-e.clientY); box.style.left=compareNum(x,minL,maxL)+'px' box.style.top=compareNum(y,minT,maxT)+'px' } </script> </body> </html>