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 autocomplete插件修改
Apr 17 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
May 11 Javascript
JavaScript不使用prototype和new实现继承机制
Dec 29 Javascript
javascript中in运算符用法分析
Apr 28 Javascript
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
JavaScript 复制对象与Object.assign方法无法实现深复制
Nov 02 Javascript
vue集成chart.js的实现方法
Aug 20 Javascript
layer实现弹出层自动调节位置
Sep 05 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
Feb 06 Javascript
extjs4图表绘制之折线图实现方法分析
Mar 06 Javascript
微信小程序实现点赞业务
Feb 10 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文件上传实例详解!!!
2007/01/02 PHP
php中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
jQuery live
2009/05/15 Javascript
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
python黑魔法之参数传递
2016/02/12 Python
Django forms组件的使用教程
2018/10/08 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
Django 多环境配置详解
2019/05/14 Python
详解用python生成随机数的几种方法
2019/08/04 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
python实现录音功能(可随时停止录音)
2020/10/26 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
工商管理专业职业生涯规划
2014/01/01 职场文书
大学毕业感言
2014/01/10 职场文书
咖啡店自主创业商业计划书
2014/01/22 职场文书
个人授权委托书格式
2014/08/30 职场文书
医德医风学习心得体会
2016/01/25 职场文书
高中地理教学反思
2016/02/19 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技
Oracle 多表查询基本语法实例
2022/04/18 Oracle