jQuery实现简单的DIV拖动效果


Posted in Javascript onFebruary 19, 2016

本文实例讲述了jQuery实现简单的DIV拖动效果。分享给大家供大家参考,具体如下:

创建一个HTML文件,复制以下代码进去,修改jquery文件(没有的到网上去下一个,我使用的是jquery-1.8.2),即可以运行了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Jquery:鼠标拖动DIV</title>
<style type="text/css">
  div#computerMove{
    position:absolute;
    top:50px;
    left:50px;
    width:200px;
    height:30px;
    line-height:30px;
    background-color:#00CCCC;
    text-align:center;
    color:#FFFFFF;
    cursor:default;
  }
</style>
</head>
<body>
  <div id="computerMove">点击我拖动</div>
  <script src="jquery-1.8.2.js" type="text/javascript"></script>
  <script type="text/javascript">
    $(document).ready(function(){
      var $div = $("div#computerMove");
      /* 绑定鼠标左键按住事件 */
      $div.bind("mousedown",function(event){
        /* 获取需要拖动节点的坐标 */
        var offset_x = $(this)[0].offsetLeft;//x坐标
        var offset_y = $(this)[0].offsetTop;//y坐标
        /* 获取当前鼠标的坐标 */
        var mouse_x = event.pageX;
        var mouse_y = event.pageY;
        /* 绑定拖动事件 */
        /* 由于拖动时,可能鼠标会移出元素,所以应该使用全局(document)元素 */
        $(document).bind("mousemove",function(ev){
          /* 计算鼠标移动了的位置 */
          var _x = ev.pageX - mouse_x;
          var _y = ev.pageY - mouse_y;
          /* 设置移动后的元素坐标 */
          var now_x = (offset_x + _x ) + "px";
          var now_y = (offset_y + _y ) + "px";
          /* 改变目标元素的位置 */
          $div.css({
            top:now_y,
            left:now_x
          });
        });
      });
      /* 当鼠标左键松开,接触事件绑定 */
      $(document).bind("mouseup",function(){
        $(this).unbind("mousemove");
      });
    })
  </script>
</body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
基于Jquery的动态创建DOM元素的代码
Dec 28 Javascript
JS运动框架之分享侧边栏动画实例
Mar 03 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
Mar 04 Javascript
javascript父子页面通讯实例详解
Jul 17 Javascript
jQuery实现带滑动条的菜单效果代码
Aug 26 Javascript
AngularJS基础 ng-srcset 指令简单示例
Aug 03 Javascript
最实用的jQuery分页插件
Oct 09 Javascript
微信小程序  checkbox组件详解及简单实例
Jan 10 Javascript
分享19个JavaScript 有用的简写写法
Jul 07 Javascript
浅谈Vue2.0父子组件间事件派发机制
Jan 08 Javascript
小程序实现日历左右滑动效果
Oct 21 Javascript
electron 如何将任意资源打包的方法步骤
Apr 16 Javascript
JavaScript深度复制(deep clone)的实现方法
Feb 19 #Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
Feb 19 #Javascript
基于JavaScript实现弹出框效果
Feb 19 #Javascript
jQuery on()绑定动态元素出现的问题小结
Feb 19 #Javascript
学习javascript文件加载优化
Feb 19 #Javascript
初识angular框架后的所思所想
Feb 19 #Javascript
复杂的javascript窗口分帧解析
Feb 19 #Javascript
You might like
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
使javascript也能包含文件
2006/10/26 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
python实现html转ubb代码(html2ubb)
2014/07/03 Python
python脚本实现查找webshell的方法
2014/07/31 Python
python的Template使用指南
2014/09/11 Python
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
设计总监岗位职责
2013/12/07 职场文书
班主任工作年限证明
2014/01/12 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
工作经验交流材料
2014/12/30 职场文书
热爱劳动主题班会
2015/08/14 职场文书
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers