jQuery实现div跟随鼠标移动


Posted in jQuery onAugust 20, 2020

重点是弄清楚如何获取鼠标现位置与移动后位置,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 相关文章推荐
jQuery+pjax简单示例汇总
Apr 21 jQuery
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
vue单页应用中如何使用jquery的方法示例
Jul 27 jQuery
jquery easyui如何实现格式化列
Jul 30 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
jQuery实现模拟搜索引擎的智能提示功能简单示例
Jan 27 jQuery
详解JQuery基础动画操作
Apr 12 jQuery
JQuery Ajax如何实现注册检测用户名
Sep 25 jQuery
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 #jQuery
Jquery把获取到的input值转换成json
May 15 #jQuery
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 #jQuery
jQuery返回定位插件详解
May 15 #jQuery
jQuery操作css样式
May 15 #jQuery
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 #jQuery
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 #jQuery
You might like
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
jQuery 渐变下拉菜单
2009/12/15 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
python实现在pickling的时候压缩的方法
2014/09/25 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
深入浅析python with语句简介
2018/04/11 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
Python查找文件中包含中文的行方法
2018/12/19 Python
django 微信网页授权登陆的实现
2019/07/30 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
python制作微博图片爬取工具
2021/01/16 Python
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
社团文化节邀请函
2014/01/10 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
新生入学欢迎词
2015/01/26 职场文书