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 event使用方法详解
Apr 28 Javascript
jquery实现手风琴效果实例代码
Nov 15 Javascript
jQuery中:disabled选择器用法实例
Jan 04 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
Aug 23 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
Sep 30 Javascript
angularjs实现下拉列表的选中事件示例
Mar 03 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
Dec 11 Javascript
微信小程序视图容器(swiper)组件创建轮播图
Jun 19 Javascript
js限制输入框只能输入数字(onkeyup触发)
Sep 28 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
Apr 20 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
joomla数据库操作示例代码
2016/01/06 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
js写的评论分页(还不错)
2013/12/23 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
详解jQuery选择器
2016/12/21 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
深入解析Python中的urllib2模块
2015/11/13 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
HTML5 对各个标签的定义与规定:body的介绍
2012/06/21 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
英语国培研修感言
2014/02/13 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
一般纳税人申请报告
2015/05/18 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang