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 相关文章推荐
让低版本浏览器支持input的placeholder属性(js方法)
Apr 03 Javascript
String.prototype实现的一些javascript函数介绍
Nov 22 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
JavaScript 异常处理 详解
Feb 06 Javascript
js下将金额数字每三位一逗号分隔
Feb 19 Javascript
javascript使用Promise对象实现异步编程
Mar 01 Javascript
JS中创建函数的三种方式及区别
Mar 13 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
Sep 12 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
Sep 13 Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 Javascript
Vue 中使用 typescript的方法详解
Feb 17 Javascript
es6函数之rest参数用法实例分析
Apr 18 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
我的论坛源代码(三)
2006/10/09 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
PHP多进程编程实例
2014/10/15 PHP
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
js闭包学习心得总结
2018/04/17 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
angular多语言配置详解
2019/05/16 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
VSCode下好用的Python插件及配置
2018/04/06 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
python 画图 图例自由定义方式
2020/04/17 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
面试求职的个人自我评价
2013/11/16 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
作文评语集锦
2014/12/25 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers