溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jQuery怎么實(shí)現(xiàn)div跟隨鼠標(biāo)移動

發(fā)布時(shí)間:2022-03-31 10:14:51 來源:億速云 閱讀:440 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“jQuery怎么實(shí)現(xiàn)div跟隨鼠標(biāo)移動”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“jQuery怎么實(shí)現(xiàn)div跟隨鼠標(biāo)移動”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

重點(diǎn)是弄清楚如何獲取鼠標(biāo)現(xiàn)位置與移動后位置,div現(xiàn)在位置與移動后位置:

用jQuery實(shí)現(xiàn)div隨鼠標(biāo)移動而移動,不是鼠標(biāo)自身的位置?。《莇iv相對于之前位置的移動

代碼如下:(注意看綠色部分的解釋)

<!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>
    <div class="aa"></div>
  </body>
</html>
<script>
  $(".aa").mousedown(function(e){
    //設(shè)置移動后的默認(rèn)位置
    var endx=0;
    var endy=0;

    //獲取div的初始位置,要注意的是需要轉(zhuǎn)整型,因?yàn)楂@取到值帶px
    var left= parseInt($(".aa").css("left"));
    var top = parseInt($(".aa").css("top"));

    //獲取鼠標(biāo)按下時(shí)的坐標(biāo),區(qū)別于下面的es.pageX,es.pageY
    var downx=e.pageX;
    var downy=e.pageY;   //pageY的y要大寫,必須大寫?。?

   //  鼠標(biāo)按下時(shí)給div掛事件
  $(".aa").bind("mousemove",function(es){

    //es.pageX,es.pageY:獲取鼠標(biāo)移動后的坐標(biāo)
    var endx= es.pageX-downx+left;   //計(jì)算div的最終位置
    var endy=es.pageY-downy+top;

    //帶上單位
    $(".aa").css("left",endx+"px").css("top",endy+"px")  
  });  
 })
  

  $(".aa").mouseup(function(){
    //鼠標(biāo)彈起時(shí)給div取消事件
    $(".aa").unbind("mousemove")
  })
  
</script>

區(qū)別于下面這段代碼:(最終實(shí)現(xiàn)效果是div隨鼠標(biāo)位置移動,具體效果想看的可以粘貼復(fù)制對比看看差距在哪)

  <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怎么實(shí)現(xiàn)div跟隨鼠標(biāo)移動”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI