jQuery控制Div拖拽效果完整實(shí)例分析
更新時(shí)間:2015年04月15日 09:55:07 作者:songguo
這篇文章主要介紹了jQuery控制Div拖拽效果完整實(shí)例,對(duì)jQuery控制拖拽效果的方法以注釋形式給予了較為詳細(xì)的介紹,便于讀者理解代碼含義,需要的朋友可以參考下
本文實(shí)例講述了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>無(wú)標(biāo)題文檔</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; //標(biāo)識(shí)是否移動(dòng)元素
var offsetX=0; //聲明DIV在當(dāng)前窗口的Left值
var offsetY=0; //聲明DIV在當(dāng)前窗口的Top值
$("#Drigging").mouseover(function(){
$(this).css('cursor','move');
//當(dāng)鼠標(biāo)移動(dòng)到拖拽的DIV上的時(shí)候,將鼠標(biāo)的樣式設(shè)置為移動(dòng)(move)
})
$("#Drigging").mousedown(function(){
bool=true;
//當(dāng)鼠標(biāo)在移動(dòng)元素按下的時(shí)候?qū)ool設(shè)定為true
offsetX = event.offsetX;
//獲取鼠標(biāo)在當(dāng)前窗口的相對(duì)偏移位置的Left值并賦值給offsetX
offsetY = event.offsetY;
//獲取鼠在當(dāng)前窗口的相對(duì)偏移位置的Top值并賦值給offsetY
$(this).css('cursor','move');
}).mouseup(function(){
bool=false;
//當(dāng)鼠標(biāo)在移動(dòng)元素起來(lái)的時(shí)候?qū)ool設(shè)定為false
})
$(document).mousemove(function(){
if(!bool)//如果bool為false則返回
return;
//當(dāng)bool為true的時(shí)候執(zhí)行下面的代碼
var x = event.clientX-offsetX;
//event.clientX得到鼠標(biāo)相對(duì)于客戶端正文區(qū)域的偏移
//然后減去offsetX即得到當(dāng)前推拽元素相對(duì)于當(dāng)前窗口的X值
//(減去鼠標(biāo)剛開始拖動(dòng)的時(shí)候在當(dāng)前窗口的偏移X)
var y = event.clientY-offsetY;
//event.clientY得到鼠標(biāo)相對(duì)于客戶端正文區(qū)域的偏移
//然后減去offsetX即得到當(dāng)前推拽元素相對(duì)于當(dāng)前窗口的Y值
//(減去鼠標(biāo)剛開始拖動(dòng)的時(shí)候在當(dāng)前窗口的偏移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>
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- jQuery 移動(dòng)端拖拽(模塊化開發(fā),觸摸事件,webpack)
- jQuery拖拽通過(guò)八個(gè)點(diǎn)改變div大小
- jQuery實(shí)現(xiàn)div拖拽效果實(shí)例分析
- jQuery div拖拽用法實(shí)例
- jQuery使用drag效果實(shí)現(xiàn)自由拖拽div
- jquery實(shí)現(xiàn)拖拽調(diào)整Div大小
- jQuery拖拽div實(shí)現(xiàn)思路
- jquery實(shí)現(xiàn)div拖拽寬度示例代碼
- JQuery Dialog(JS 模態(tài)窗口,可拖拽的DIV)
- Jquery實(shí)現(xiàn)移動(dòng)端控制DIV拖拽
相關(guān)文章
jQuery中將函數(shù)賦值給變量的調(diào)用方法
當(dāng)函數(shù)作為其他函數(shù)的參數(shù)時(shí)和獨(dú)立調(diào)用時(shí),寫法是有區(qū)別的,前者不用附加(),而后者必須加()2012-03-03
jQuery實(shí)現(xiàn)動(dòng)態(tài)添加tr到table的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)添加tr到table的方法,涉及jQuery針對(duì)table表格元素的動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2016-12-12
Jquery倒數(shù)計(jì)時(shí)按鈕setTimeout的實(shí)例代碼
這篇文章介紹了Jquery倒數(shù)計(jì)時(shí)按鈕setTimeout的實(shí)例,有需要的朋友可以參考一下2013-07-07
jquery移動(dòng)節(jié)點(diǎn)實(shí)例
這篇文章主要介紹了jquery移動(dòng)節(jié)點(diǎn)的實(shí)現(xiàn)方法,主要涉及append()方法的使用技巧,需要的朋友可以參考下2015-01-01
jquery實(shí)現(xiàn)表格行的上下移動(dòng)和置頂
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)表格行的上下移動(dòng)和置頂,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02

