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 相关文章推荐
JavaScript 10件让人费解的事情
Feb 15 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
Mar 16 Javascript
JavaScript中的依赖注入详解
Mar 18 Javascript
JavaScript 浏览器对象模型BOM使用介绍
Apr 13 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
Jun 17 Javascript
jQuery动态移除和添加背景图片的方法详解
Mar 07 Javascript
基于Datatables跳转到指定页的简单实例
Nov 09 Javascript
js中如何完美的解析数据
Mar 18 Javascript
Vue.js 踩坑记之双向绑定
May 03 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
Oct 14 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
May 12 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与php MySQL 之间的关系
2009/07/17 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
php精度计算的问题解析
2019/06/21 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
简单的JS多重继承示例
2008/03/13 Javascript
jQuery autocomplete插件修改
2009/04/17 Javascript
javascript 三种编解码方式
2010/02/01 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
javascript表单正则应用
2017/02/04 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
详解JS模块导入导出
2017/12/20 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
python实现局域网内实时通信代码
2019/12/22 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
爱国主义影片观后感
2015/06/18 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
合同范本之电脑出租
2019/08/13 职场文书
Python多线程 Queue 模块常见用法
2021/07/04 Python