当前位置:主页 > jquery教程 > jQuery实现div跟随鼠标移动

如何用jQuery实现div随鼠标移动而移动

发布:2020-02-11 20:21:30 60


给网友朋友们带来一篇jQuery相关的编程文章,网友向子菡根据主题投稿了本篇教程内容,涉及到jQuery、div、jQuery实现div跟随鼠标移动相关内容,已被420网友关注,相关难点技巧可以阅读下方的电子资料。

jQuery实现div跟随鼠标移动

重点是弄清楚如何获取鼠标现位置与移动后位置,div现在位置与移动后位置:

用jQuery实现div随鼠标移动而移动,不是鼠标自身的位置!!而是div相对于之前位置的移动

代码如下:(注意看绿色部分的解释)

 

<!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){
    //设置移动后的默认位置
    var endx=0;
    var endy=0;

    //获取div的初始位置,要注意的是需要转整型,因为获取到值带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要大写,必须大写!!

   //  鼠标按下时给div挂事件
  $(".aa").bind("mousemove",function(es){

    //es.pageX,es.pageY:获取鼠标移动后的坐标
    var endx= es.pageX-downx+left;   //计算div的最终位置
    var endy=es.pageY-downy+top;

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

  $(".aa").mouseup(function(){
    //鼠标弹起时给div取消事件
    $(".aa").unbind("mousemove")
  })
  
</script>

区别于下面这段代码:(最终实现效果是div随鼠标位置移动,具体效果想看的可以粘贴复制对比看看差距在哪)

  <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中使用$(#form).submit()重写提交表单无效原因

    发布:2020-01-26

    jqeury的validationEngine做ajax校验,当表单中的最后一个字段需要做ajax验证,在字段输入完毕后点击回车提交表单时不起作用,接下来为大家介绍下解决方法感兴趣的各位可以参考下哈


  • 如何解决jQuery $命名冲突

    发布:2020-02-02

    也许你在看此文章之前还不知道jquery有一个noConflict()东西了,它就是为了避免与其它js插件碰到相同变量的一个解决方法,利用noConflict()可以把变量存到其它指定的变量中去


  • Jquery绑定(bind和live的区别介绍)

    发布:2021-08-26

    Jquery中绑定事件有三种方法click、bind、live第一种方法很好理解,其实就和普通JS的用法差不多,只是少了一个on而已第二、三种方法都是绑定事件


  • 实例分析jQuery设置和移除文本框默认值的方法

    发布:2020-02-10

    这篇文章主要介绍了jQuery设置和移除文本框默认值的方法,实例分析了jQuery操作文本框的技巧,具有一定参考借鉴价值,需要的朋友可以参考下


  • jQuery如何实现倒计时功能

    发布:2020-02-22

    本文通过html代码和js代码给大家介绍了实现倒计时天,时,分,秒功能,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧


  • jquery easyui对于开始时间小于结束时间的判断方法

    发布:2020-01-20

    对于开始时间小于结束时间的判断可以参考,jquery easyui里的ValidateBox进行判断,需要的朋友可以参考下


  • jQuery学习笔记(4)--怎样从Jquery获取table中列值

    发布:2020-01-13

    由于要获取某列中的一个ID值,如果用JS传值的方式此问题就不存在,由于此次用到的都是jquery插件,包括各种弹出框,用JS传值就得用JS那丑陋的弹出框,所以,你懂得


  • jQuery网页遮罩层插件用法示例效果

    发布:2020-03-01

    这篇文章主要介绍了轻量级网页遮罩层jQuery插件用法,实例分析了jquery遮罩层插件的定义、功能及使用方法,非常简单实用,需要的朋友可以参考下


网友讨论