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中方便增删改cookie的一个类
Oct 11 Javascript
javascript中window.event事件用法详解
Dec 11 Javascript
自写的jQuery异步加载数据添加事件
May 15 Javascript
JavaScript实现的选择排序算法实例分析
Apr 14 Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 Javascript
在Vue组件中获取全局的点击事件方法
Sep 06 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
Jan 19 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
May 15 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
May 29 Javascript
js实现橱窗展示效果
Jan 11 Javascript
vue+iview实现分页及查询功能
Nov 17 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 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/12/14 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
7个JS基础知识总结
2014/03/05 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
Python中zip()函数用法实例教程
2014/07/31 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
详解python polyscope库的安装和例程
2020/11/13 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
美发活动策划书
2014/01/14 职场文书
护士医德考评自我评价
2015/03/03 职场文书
鲁冰花观后感
2015/06/10 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
2021/06/11 Python