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结合正则实现国内手机号段校验
Jun 19 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
Nov 26 Javascript
js实现内容显示并使用json传输数据
Mar 16 Javascript
Javascript生成带参数的二维码示例
Oct 10 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
微信小程序使用Promise简化回调
Feb 06 Javascript
在vue项目中使用sass的配置方法
Mar 20 Javascript
Vue.js 2.x之组件的定义和注册图文详解
Jun 19 Javascript
使用FormData实现上传多个文件
Dec 04 Javascript
Vue 2.0双向绑定原理的实现方法
Oct 23 Javascript
eslint+prettier统一代码风格的实现方法
Jul 22 Javascript
vue 子组件修改data或调用操作
Aug 07 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数据库连接
2006/10/09 PHP
php设计模式小结
2013/02/15 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
2015/12/23 Javascript
jQuery动态添加
2016/04/07 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
webpack下实现动态引入文件方法
2018/02/22 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
Python单例模式实例详解
2017/03/01 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
python try 异常处理(史上最全)
2019/03/07 Python
python常用函数与用法示例
2019/07/02 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
专业实习自我鉴定
2013/10/29 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
护理医院见习报告
2014/11/03 职场文书
公司慰问信范文
2015/03/23 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
关于童年的读书笔记
2015/06/26 职场文书
python中的3种定义类方法
2021/11/27 Python