前一篇文章中我們詳細的為大家解析了JavaScript中滑鼠跟隨的實作實例,那麼我們今天就跟大家介紹下jQuery實作DIV跟隨滑鼠移動的案例!
重點是弄清楚如何取得滑鼠現位置與移動後位置,p現在位置與移動後位置:
用jQuery實現p隨滑鼠移動而移動,不是滑鼠本身的位置! !而是p相對於先前位置的移動
程式碼如下:(注意看綠色部分的解釋)
#更多特效資源,請移步php特效下載頻道 :滑鼠特效
<!DOCTYPE html> <html> <head> <meta charset="{utf-8}"> <title></title> <script src="../jquery-3.2.0.js"></script> <style> .aa{ height: 100px; width: 200px; position: absolute; background-color: green; } </style> </head> <body> <p class="aa"></p> </body> </html> <script> $(".aa").mousedown(function(e){ //设置移动后的默认位置 var endx=0; var endy=0; //获取p的初始位置,要注意的是需要转整型,因为获取到值带px var left= parseInt($(".aa").css("left")); var top = parseInt($(".aa").css("top")); //获取鼠标按下时的坐标,区别于下面的es.pageX,es.pageY var downx=e.pageX; var downy=e.pageY; //pageY的y要大写,必须大写!! // 鼠标按下时给p挂事件 $(".aa").bind("mousemove",function(es){ //es.pageX,es.pageY:获取鼠标移动后的坐标 var endx= es.pageX-downx+left; //计算p的最终位置 var endy=es.pageY-downy+top; //带上单位 $(".aa").css("left",endx+"px").css("top",endy+"px") }); }) $(".aa").mouseup(function(){ //鼠标弹起时给p取消事件 $(".aa").unbind("mousemove") }) </script>
區別於下面這段程式碼:(最終實現效果是p隨滑鼠位置移動,具體效果想看的可以貼上複製對比看看差距在哪)
<script> $(".aa").mousedown(function(e){ $(document).bind("mousemove",function(e){ $(".aa").css("left",e.pageX).css("top",e.pageY) }); }) $(".aa").mouseup(function(){ $(document).unbind("mousemove") }) </script>
總結:
本文使用範例程式碼為大家介紹了jQuery實作DIV跟隨滑鼠移動的案例,相信小夥伴也已經對此有一定的了解,希望對你的工作有幫助~
相關推薦:
以上是jQuery實作div跟隨滑鼠移動的程式碼案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!