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 相关文章推荐
基于jQuery的消息提示插件 DivAlert之旅(二)
Apr 01 Javascript
jQuery 阴影插件代码分享
Jan 09 Javascript
JavaScript中的setUTCDate()方法使用详解
Jun 11 Javascript
JS实现消息来时让网页标题闪动效果的方法
Apr 20 Javascript
微信小程序 教程之引用
Oct 18 Javascript
Bootstrap模态框(Modal)实现过渡效果
Mar 17 Javascript
源码分析Vue.js的监听实现教程
Apr 23 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
Mar 09 Javascript
JavaScript调用模式与this关键字绑定的关系
Apr 21 Javascript
Vue 实现展开折叠效果的示例代码
Aug 27 Javascript
Vue js 的生命周期(看了就懂)(推荐)
Mar 29 Javascript
JavaScript原生数组函数实例汇总
Oct 14 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
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
JSON语法五大要素图文介绍
2012/12/04 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
基于python的七种经典排序算法(推荐)
2016/12/08 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
会计专业导师推荐信
2014/03/08 职场文书
2014年计生标语
2014/06/23 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
军训结束新闻稿
2015/07/17 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL