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滚动插件scrollable.js用法分析
May 25 jQuery
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
jQuery实现frame之间互通的方法
Jun 26 jQuery
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
Aug 17 jQuery
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 jQuery
Easyui 去除jquery-easui tab页div自带滚动条的方法
May 10 jQuery
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
Jquery ajax书写方法代码实例解析
Jun 12 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
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
Javascript注入技巧
2007/06/22 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
js实现内置计时器
2019/12/16 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
python实现感知器算法详解
2017/12/19 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
Python xlwt模块使用代码实例
2020/06/10 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
网络营销策划方案
2014/06/04 职场文书
三好学生个人总结
2015/02/15 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis
DE1103使用报告
2022/04/05 无线电