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 相关文章推荐
js tab 选项卡
Apr 26 Javascript
使用js操作cookie的一点小收获分享
Sep 03 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
js中删除数组中的某一元素实例(无下标时)
Feb 28 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
Mar 21 Javascript
基于react框架使用的一些细节要点的思考
May 31 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
Sep 11 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
JS开发自己的类库实例分析
Aug 28 Javascript
vue 翻页组件vue-flip-page效果
Feb 05 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
详细解密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
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
生成二维码方法汇总
2014/12/26 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
2015/07/09 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
jsTree使用记录实例
2016/12/01 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python xlsxwriter库生成图表的应用示例
2018/03/16 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
女娲补天教学反思
2014/02/05 职场文书
村党支部公开承诺书
2014/05/29 职场文书
会计专业自荐书
2014/07/08 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技