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 面向对象 继承
May 13 Javascript
jQuery关于导航条背景切换效果实现示例
Sep 04 Javascript
javascript页面加载完执行事件代码
Feb 11 Javascript
js 删除数组的几种方法小结
Feb 21 Javascript
js点击选择文本的方法
Feb 09 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
Javascript类型系统之undefined和null浅析
Jul 13 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
Jul 19 jQuery
electron实现qq快捷登录的方法示例
Oct 22 Javascript
Vue路由模块化配置的完整步骤
Aug 14 Javascript
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
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初学入门
2006/11/19 PHP
dedecms中常见问题修改方法总结
2007/03/21 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
python将音频进行变速的操作方法
2020/04/08 Python
django使用JWT保存用户登录信息
2020/04/22 Python
新闻专业应届生求职信
2013/10/31 职场文书
2014的自我评价
2014/01/13 职场文书
保健品市场营销方案
2014/03/31 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
个人向公司借款协议书
2014/10/09 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
通知怎么写?
2019/04/17 职场文书
女性励志书籍推荐
2019/08/19 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
python中的3种定义类方法
2021/11/27 Python
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技