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 Form轻松实现文件上传
May 24 jQuery
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
jQuery实现所有验证通过方可提交的表单验证
Nov 21 jQuery
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
使用jquery的cookie实现登录页记住用户名和密码的方法
Mar 13 jQuery
通过jQuery学习js类型判断的技巧
May 27 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
jquery+css3实现的经典弹出层效果示例
May 16 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
当海贼王变成JOJO风
2020/03/02 日漫
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
python3批量删除豆瓣分组下的好友的实现代码
2016/06/07 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2020/02/18 Python
使用Django清空数据库并重新生成
2020/04/03 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
在keras里实现自定义上采样层
2020/06/28 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
linux面试题参考答案(6)
2016/06/23 面试题
写给妈妈的道歉信
2014/01/11 职场文书
学校清明节活动总结
2014/07/04 职场文书
委托书格式要求
2015/01/28 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
运动会通讯稿600字
2015/07/20 职场文书
小学校园广播稿
2015/08/18 职场文书
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL