jQuery控制Div拖拽效果完整实例分析


Posted in Javascript onApril 15, 2015

本文实例讲述了jQuery控制Div拖拽效果的方法。分享给大家供大家参考。具体如下:

<!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=utf-8" />
<title>无标题文档</title>
<style>
#Drigging {
width:200px;
background:#CCC;
border:solid 1px #666;
height:80px;
line-height:80px;
text-align:center;
position:absolute;
}
</style>
<script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){ 
var bool=false; //标识是否移动元素
var offsetX=0; //声明DIV在当前窗口的Left值
var offsetY=0; //声明DIV在当前窗口的Top值
$("#Drigging").mouseover(function(){
$(this).css('cursor','move');
//当鼠标移动到拖拽的DIV上的时候,将鼠标的样式设置为移动(move)
})
$("#Drigging").mousedown(function(){ 
 bool=true;
 //当鼠标在移动元素按下的时候将bool设定为true
 offsetX = event.offsetX;
 //获取鼠标在当前窗口的相对偏移位置的Left值并赋值给offsetX
  offsetY = event.offsetY;
  //获取鼠在当前窗口的相对偏移位置的Top值并赋值给offsetY
 $(this).css('cursor','move');
 }).mouseup(function(){
bool=false;
//当鼠标在移动元素起来的时候将bool设定为false
})
$(document).mousemove(function(){
if(!bool)//如果bool为false则返回
return;
//当bool为true的时候执行下面的代码
var x = event.clientX-offsetX;
//event.clientX得到鼠标相对于客户端正文区域的偏移
//然后减去offsetX即得到当前推拽元素相对于当前窗口的X值
//(减去鼠标刚开始拖动的时候在当前窗口的偏移X)
var y = event.clientY-offsetY;
//event.clientY得到鼠标相对于客户端正文区域的偏移
//然后减去offsetX即得到当前推拽元素相对于当前窗口的Y值
//(减去鼠标刚开始拖动的时候在当前窗口的偏移Y)
$("#Drigging").css("left", x);
$("#Drigging").css("top", y);
$("#Drigging").css('cursor','move');
})
})
</script>
  </head>
  <body>
    <div id="Drigging" style="float:left">
      拖拽层
    </div>
  </body>
</html>

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

Javascript 相关文章推荐
SlideView 图片滑动(扩展/收缩)展示效果
Aug 01 Javascript
jquery.post用法之type设置问题
Feb 24 Javascript
div失去焦点事件实现思路
Apr 22 Javascript
JS常用字符串处理方法应用总结
May 22 Javascript
浅谈jQuery操作类数组的工具方法
Dec 23 Javascript
AngularJS全局警告框实现方法示例
May 18 Javascript
JS随机数产生代码分享
Feb 24 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
Jun 25 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
Feb 12 Javascript
详解vue中使用protobuf踩坑记
May 07 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
Jul 20 Javascript
JavaScript实现鼠标经过表格某行时此行变色
Nov 20 Javascript
详细解密jsonp跨域请求
Apr 15 #Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
Apr 15 #Javascript
javascript中Math.random()使用详解
Apr 15 #Javascript
js数组依据下标删除元素
Apr 14 #Javascript
js获取数组的最后一个元素
Apr 14 #Javascript
jQuery实现鼠标划过修改样式的方法
Apr 14 #Javascript
jquery仿百度经验滑动切换浏览效果
Apr 14 #Javascript
You might like
PHPMailer 中文使用说明小结
2010/01/22 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
Laravel框架实现利用监听器进行sql语句记录功能
2018/06/06 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
详解Python中的静态方法与类成员方法
2017/02/28 Python
python读取文件名称生成list的方法
2018/04/27 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
python读取mysql数据绘制条形图
2020/03/25 Python
Python如何读写二进制数组数据
2020/08/01 Python
了解一下python内建模块collections
2020/09/07 Python
python 5个实用的技巧
2020/09/27 Python
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
应届生自我鉴定
2013/12/11 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers