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 相关文章推荐
window.name代替cookie的实现代码
Nov 28 Javascript
让人印象深刻的10个jQuery手风琴效果应用
May 08 Javascript
脚本合并提升javascript性能示例
Feb 24 Javascript
js动态创建及移除div的方法
Jun 03 Javascript
使用ajaxfileupload.js实现上传文件功能
Aug 13 Javascript
JS日程管理插件FullCalendar简单实例
Feb 07 Javascript
js图片放大镜实例讲解(必看篇)
Jul 17 Javascript
node.js 利用流实现读写同步,边读边写的方法
Sep 11 Javascript
微信小程序支付功能 php后台对接完整代码分享
Jun 12 Javascript
JavaScript使用小插件实现倒计时的方法讲解
Mar 11 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
Nov 09 Javascript
如何在Vue项目中添加接口监听遮罩
Jan 25 Vue.js
详细解密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 resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
servlet+jquery实现文件上传进度条示例代码
2017/01/25 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
JS继承定义与使用方法简单示例
2020/02/19 Javascript
深入解析Python中的WSGI接口
2015/05/11 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
手写一个python迭代器过程详解
2019/08/27 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
Python实现中值滤波去噪方式
2019/12/18 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
Europcar意大利:汽车租赁
2019/07/07 全球购物
自动化专业职业生涯规划书范文
2014/01/16 职场文书
高三生物教学反思
2014/01/25 职场文书
行政内勤岗位职责
2014/04/07 职场文书
建设工地安全标语
2014/06/07 职场文书
人事专员岗位说明书
2014/07/29 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android