jQuery 版元素拖拽原型代碼
更新時(shí)間:2011年04月25日 01:17:42 作者:
“元素拖拽”顧名思義:拖動(dòng),移動(dòng),拽放。有很多的解釋?zhuān)以诰W(wǎng)上相關(guān)資料非常之多,本人在開(kāi)發(fā) AsyncBox 當(dāng)中也用到此效果,借此分享,同時(shí)也是一種技術(shù)積累。
本文主要針對(duì)拖拽原型進(jìn)行解析,給剛接觸 JQuery 的愛(ài)好者一個(gè)簡(jiǎn)單的示例。
在引入 Jquery.js 后:
<script type="text/javascript">
$(function(){
//綁定拖動(dòng)元素對(duì)象
bindDrag(document.getElementById('test'));
});
function bindDrag(el){
//初始化參數(shù)
var els = el.style,
//鼠標(biāo)的 X 和 Y 軸坐標(biāo)
x = y = 0;
//邪惡的食指
$(el).mousedown(function(e){
//按下元素后,計(jì)算當(dāng)前鼠標(biāo)位置
x = e.clientX - el.offsetLeft;
y = e.clientY - el.offsetTop;
//IE下捕捉焦點(diǎn)
el.setCapture && el.setCapture();
//綁定事件
$(document).bind('mousemove',mouseMove).bind('mouseup',mouseUp);
});
//移動(dòng)事件
function mouseMove(e){
//宇宙超級(jí)無(wú)敵運(yùn)算中...
els.top = e.clientY - y + 'px';
els.left = e.clientX - x + 'px';
}
//停止事件
function mouseUp(){
//IE下釋放焦點(diǎn)
el.releaseCapture && el.releaseCapture();
//卸載事件
$(document).unbind('mousemove',mouseMove).unbind('mouseup',mouseUp);
}
}
</script>
下載:完整示例
在引入 Jquery.js 后:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
$(function(){
//綁定拖動(dòng)元素對(duì)象
bindDrag(document.getElementById('test'));
});
function bindDrag(el){
//初始化參數(shù)
var els = el.style,
//鼠標(biāo)的 X 和 Y 軸坐標(biāo)
x = y = 0;
//邪惡的食指
$(el).mousedown(function(e){
//按下元素后,計(jì)算當(dāng)前鼠標(biāo)位置
x = e.clientX - el.offsetLeft;
y = e.clientY - el.offsetTop;
//IE下捕捉焦點(diǎn)
el.setCapture && el.setCapture();
//綁定事件
$(document).bind('mousemove',mouseMove).bind('mouseup',mouseUp);
});
//移動(dòng)事件
function mouseMove(e){
//宇宙超級(jí)無(wú)敵運(yùn)算中...
els.top = e.clientY - y + 'px';
els.left = e.clientX - x + 'px';
}
//停止事件
function mouseUp(){
//IE下釋放焦點(diǎn)
el.releaseCapture && el.releaseCapture();
//卸載事件
$(document).unbind('mousemove',mouseMove).unbind('mouseup',mouseUp);
}
}
</script>
下載:完整示例
您可能感興趣的文章:
- 基于jquery實(shí)現(xiàn)的鼠標(biāo)拖拽元素復(fù)制并寫(xiě)入效果
- Jquery UI實(shí)現(xiàn)一次拖拽多個(gè)選中的元素操作
- jquery插件jquery.dragscale.js實(shí)現(xiàn)拖拽改變?cè)卮笮〉姆椒?附demo源碼下載)
- jquery網(wǎng)頁(yè)元素拖拽插件效果及實(shí)現(xiàn)
- JQuery拖拽元素改變大小尺寸實(shí)現(xiàn)代碼
- jQuery如何獲取動(dòng)態(tài)添加的元素
- jQuery動(dòng)態(tài)添加、刪除元素的方法
- Jquery顯示、隱藏元素以及添加刪除樣式
- Jquery動(dòng)態(tài)添加及刪除頁(yè)面節(jié)點(diǎn)元素示例代碼
- jquery實(shí)現(xiàn)拖拽添加元素功能
相關(guān)文章
checkbox批量選中,獲取選中項(xiàng)的值的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇checkbox批量選中,獲取選中項(xiàng)的值的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06jquery easyui DataGrid簡(jiǎn)單示例
本篇文章主要介紹了jquery easyui DataGrid簡(jiǎn)單示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01jQuery開(kāi)發(fā)仿QQ版音樂(lè)播放器
這篇文章主要介紹了jQuery開(kāi)發(fā)仿QQ版的音樂(lè)播放器,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07jQuery是用來(lái)干什么的 jquery其實(shí)就是一個(gè)js框架
jQuery是一bai個(gè)簡(jiǎn)潔而快速的JavaScript庫(kù),可用于du簡(jiǎn)化zhi事件處理,HTML文檔遍歷,Ajax交互和dao動(dòng)畫(huà),以更快速開(kāi)發(fā)網(wǎng)站2021-02-02jQuery中操控hidden、disable等無(wú)值屬性的方法
在實(shí)現(xiàn)一些表單提交頁(yè)面時(shí)會(huì)放置若干隱藏屬性,下面為大家介紹下jQuery中如何操控hidden、disable等無(wú)值屬性,感興趣的朋友不要錯(cuò)過(guò)2014-01-01jquery中cookie用法實(shí)例詳解(獲取,存儲(chǔ),刪除等)
這篇文章主要介紹了jquery中cookie用法,結(jié)合實(shí)例詳細(xì)分析了jQuery操作cookie的獲取,存儲(chǔ),刪除等操作,并附帶了Jquery操作Cookie記錄用戶(hù)查詢(xún)過(guò)信息實(shí)現(xiàn)方法,需要的朋友可以參考下2016-01-01jquery網(wǎng)頁(yè)回到頂部效果(圖標(biāo)漸隱,自寫(xiě))
當(dāng)網(wǎng)頁(yè)內(nèi)容草雞多的時(shí)候,用戶(hù)就需要有個(gè)按鈕快速回到頂部,于是用js來(lái)實(shí)現(xiàn)下,畫(huà)布多說(shuō),直接上代碼2014-06-06