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 相关文章推荐
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
jQuery制作全屏宽度固定高度轮播图(实例讲解)
Jul 08 jQuery
jquery应用实例分享_实现手风琴特效
Feb 01 jQuery
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
Apr 26 jQuery
jQuery解析json格式数据示例
Sep 01 jQuery
jQuery实现网页拼图游戏
Apr 22 jQuery
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
jquery添加div实现消息聊天框
Feb 08 jQuery
JQuery基于FormData异步提交数据文件
Sep 01 jQuery
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 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
php,ajax实现分页
2008/03/27 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
浅谈Python中函数的参数传递
2016/06/21 Python
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
python3处理含有中文的url方法
2018/05/10 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
python编写俄罗斯方块
2020/03/13 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
人事主管的岗位职责
2013/11/16 职场文书
置业顾问岗位职责
2014/03/02 职场文书
房展策划方案
2014/06/07 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书