欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

jQuery实现div跟随鼠标移动的代码案例

程序员文章站 2022-03-28 18:35:09
...
前一篇文章中我们详细的为大家解析了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跟随鼠标移动的代码案例的详细内容,更多请关注其它相关文章!