jQuerydiv元素拖动效果代码实例
本章节分享一段代码实例,它实现了元素的拖动效果。
代码非常的简单,有这方面需求的朋友可以做一下参考。
代码实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(function(){
var bool=false;
var offsetX=0;
var offsetY=0;
$("#Drigging").mouseover(function(){
$(this).css('cursor','move');
})
$("#Drigging").mousedown(function(event){
bool=true;
offsetX = event.offsetX;
offsetY = event.offsetY;
$(this).css('cursor','move');
}).mouseup(function(){
bool=false;
})
$(document).mousemove(function(event){
if(!bool)
return;
var x = event.clientX-offsetX;
var y = event.clientY-offsetY;
$("#Drigging").css("left", x);
$("#Drigging").css("top", y);
$("#Drigging").css('cursor','move');
})
})
</script>
</head>
<body>
<div id="Drigging" style="float:left"></div>
</body>
</html>
上面的代码实现了我们的要求,下面介绍一下它的实现过程。
一.代码注释:
(1).$(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
(2).var bool=false,设置一个标识符,用来说明元素是否可以拖动。
(3).var offsetX=0,声明一个变量并赋值为0,用法后面介绍。
(4).var offsetY=0,同上。
(5).$("#Drigging").mouseover(function(){
$(this).css('cursor','move');
}),为元素注册mouseover事件处理函数,当鼠标悬浮的时候鼠标指针编程带有四个箭头的那种形状。
(6).$("#Drigging").mousedown(function(){
bool=true;
offsetX = event.offsetX;
offsetY = event.offsetY;
$(this).css('cursor','move');
}),为元素注册mousedown事件处理函数,也就是当鼠标在元素中按下的时候触发。
bool=true,将bool的值设置为true,也就是元素可以拖动。
(7).offsetX = event.offsetX,获取事件触发时候鼠标指针在元素中的横坐标。
(8).offsetY = event.offsetY,和上面同理,获取纵向坐标。
(9).$(this).css('cursor','move'),设置鼠标指针为带有四个箭头的那种形状。
(10)..mouseup(function(){
bool=false;
}),注册mouseup事件处理函数,也就是当鼠标案件松开的时候,将bool设置为false,也就是不可拖动。
(11).$(document).mousemove(function(){}),为document对象注册mousemove事件处理函数。
(12).if(!bool) return,如果bool为false,那么直接跳出函数,也就是不可以拖动。
(13).var x = event.clientX-offsetX,获取元素左边缘距离浏览器客户区左边缘的尺寸。
(14).var y = event.clientY-offsetY,后去元素上边缘距离浏览器客户区上边缘的尺寸。
(15).$("#Drigging").css("left", x);
$("#Drigging").css("top", y);
$("#Drigging").css('cursor','move');
设置相关的样式,因为是绝对定位,所以就实现了拖动效果。
(1).mouseover事件可以参阅jQuery mouseover 事件一章节。
(2).css()方法可以参阅jQuery css()一章节。
(3).mousedown事件可以参阅jQuery mousedown 事件一章节。
(4).mouseup事件可以参阅jQuery mouseup 事件一章节。
(5).mousemove事件可以参阅jQuery mousemove 事件一章节。
(6).clientX可以参阅javascript clientX一章节。
(7).offsetX属性可以参阅javascript offsetX一章节。
相关推荐
-
jQuery获取所有的checkbox复选框元素
本章节分享一段实例代码,它可以实现获取指定元素素有的复选框元素。代码实例如下
-
jquery获取指定类型子元素代码实例
本章节介绍一下如何获取指定类型的子元素,下面就通过代码实例做一下演示。代码实例如下:m
-
获取元素在页面中的坐标位置代码实例
本章节分享一段代码实例,它实现了获取指定元素在页面汇总坐标的功能。代码实例如下
-
jQuery如何创建一个新的元素对象
使用jQury创建一个新元素对象非常的简单,下面就是一个非常简单的方式。代码如下:vr $div=$(本站的url地址是实例3)当然生成的也是一个jQury对象,
-
jquery实现的右键鼠标点击事件
jqury其实本身的事件机制就很完善了,包括了单击,双击,鼠标移入,鼠标移出等。但是却少了一个做事件。就是鼠标右击事件。当然大家也是直接用侦听鼠标按下事件,然后通过if来判断执行相应的函数。造成鼠标