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 实现打印网页中定义的部分内容的代码
Apr 01 Javascript
jQuery 一个图片切换的插件
Oct 09 Javascript
JQuery中form验证出错信息的查看方法
Oct 08 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
Nov 04 Javascript
深入理解jquery中的事件与动画
May 24 Javascript
ES6学习之变量的两种命名方法示例
Jul 18 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
详解如何在你的Vue项目配置vux
Jun 04 Javascript
详解JS实现简单的时分秒倒计时代码
Apr 25 Javascript
jquery实现聊天机器人
Feb 08 jQuery
vue 项目中当访问路由不存在的时候默认访问404页面操作
Aug 31 Javascript
Vue实现随机验证码功能
Dec 29 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
phpQuery占用内存过多的处理方法
2013/11/13 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
JavaScript中的细节分析
2012/06/30 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
js实现导航跟随效果
2018/11/17 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
pygame学习笔记(4):声音控制
2015/04/15 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
网游商务专员求职信
2013/10/15 职场文书
医师定期考核实施方案
2014/05/07 职场文书
改革共识倡议书
2014/08/29 职场文书
红色旅游心得体会
2014/09/03 职场文书
医生辞职信范文
2015/03/02 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
团队拓展训练感想
2015/08/07 职场文书
创业计划书之家教托管
2019/09/25 职场文书
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js