前回の記事では、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 Effect に基づくシンプルなマウス追従プロンプト
以上がマウスの動きを追跡する div を実装する jQuery のコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。