首頁  >  文章  >  web前端  >  jQuery實作div跟隨滑鼠移動的程式碼案例

jQuery實作div跟隨滑鼠移動的程式碼案例

PHPz
PHPz原創
2017-11-18 13:31:084110瀏覽

前一篇文章中我們詳細的為大家解析了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的一個簡單的滑鼠跟隨提示效果

JavaScript滑鼠跟隨效果的實作

Js滑鼠跟隨程式碼小手點擊實例方法

以上是jQuery實作div跟隨滑鼠移動的程式碼案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn