マウスの動きを追跡する div を実装する jQuery のコード例

PHPz
リリース: 2018-09-30 16:52:32
オリジナル
4130 人が閲覧しました

前回の記事では、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 に基づくシンプルなマウス追従プロンプト

JavaScript マウスエフェクトの実装

Js マウス追従コード小さい手クリックインスタンスメソッド

以上がマウスの動きを追跡する div を実装する jQuery のコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート