jquery實(shí)現(xiàn)簡(jiǎn)單拖拽效果
本文實(shí)例為大家分享了jquery實(shí)現(xiàn)簡(jiǎn)單拖拽的具體代碼,供大家參考,具體內(nèi)容如下
基本思路:
1.首先需要鼠標(biāo)按下拖動(dòng)區(qū)域,也就是需要調(diào)用 mousedown 方法
2.鼠標(biāo)移動(dòng),需要拖動(dòng)的元素跟著鼠標(biāo)移動(dòng),調(diào)用 mousemove 方法
3.鼠標(biāo)彈起拖動(dòng)消失,調(diào)用 mouseup 方法
下面看一下代碼:
頁(yè)面結(jié)構(gòu):

樣式:
.drag {
width: 200px;
height: 200px;
background-color: skyblue;
position: absolute;
}
效果圖:

邏輯代碼:
// 拖拽函數(shù)
function function_drag(ele) {
$(ele).mousedown(function(e){
// 獲取鼠標(biāo)離元素(0,0)位置的距離
var positionDiv = $(this).offset(); //offset 元素的偏移坐標(biāo) 有兩個(gè)屬性:top left(對(duì)顯示的元素有用)
var distenceX = e.pageX - positionDiv.left; //page 顯示鼠標(biāo)指針的位置 (此時(shí)相當(dāng)于,鼠標(biāo)按下的初始值)
var distenceY = e.pageY - positionDiv.top; //
// 鼠標(biāo)移動(dòng)
$(document).mousemove(function(e){
// 獲取鼠標(biāo)的位移(鼠標(biāo)此時(shí)的page值 - 鼠標(biāo)按下時(shí)的初始值 = 元素的移動(dòng)值)
var x = e.pageX - distenceX;
var y = e.pageY - distenceY;
if(x<0){
x=0;
}else if(x>$(document).width()-$(ele).outerWidth(true)){
x = $(document).width()-$(ele).outerWidth(true);
}
if(y<0){
y=0;
}else if(y>$(document).height()-$(ele).outerHeight(true)){
y = $(document).height()-$(ele).outerHeight(true);
}
$(ele).css({
'left':x+'px',
'top':y+'px'
})
})
// 鼠標(biāo)抬起
$(document).mouseup(function(e){
$(document).off('mousemove');
})
})
}
function_drag('.drag');
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JQuery Dialog(JS 模態(tài)窗口,可拖拽的DIV)
- JQuery UI的拖拽功能實(shí)現(xiàn)方法小結(jié)
- jQuery拖拽div實(shí)現(xiàn)思路
- jQuery使用drag效果實(shí)現(xiàn)自由拖拽div
- 如何使用jQuery Draggable和Droppable實(shí)現(xiàn)拖拽功能
- 簡(jiǎn)單的jquery拖拽排序效果實(shí)現(xiàn)代碼
- JQuery之拖拽插件實(shí)現(xiàn)代碼
- jQuery插件實(shí)現(xiàn)文件上傳功能(支持拖拽)
- jquery實(shí)現(xiàn)拖拽調(diào)整Div大小
- jQuery EasyUI API 中文文檔 - Draggable 可拖拽
相關(guān)文章
jQuery AJAX應(yīng)用實(shí)例總結(jié)
這篇文章主要介紹了jQuery AJAX應(yīng)用,結(jié)合實(shí)例形式總結(jié)分析了jQuery 使用AJAX訪問(wèn)各種格式數(shù)據(jù)相關(guān)應(yīng)用操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-05-05
使用jQuery mobile庫(kù)檢測(cè)url絕對(duì)地址和相對(duì)地址的方法
這篇文章主要介紹了使用jQuery mobile庫(kù)監(jiān)測(cè)絕對(duì)地址和相對(duì)地址的方法,分別是isAbsoluteUrl()和isRelativeUrl()方法的使用,需要的朋友可以參考下2015-12-12
jQuery實(shí)現(xiàn)平滑滾動(dòng)頁(yè)面到指定錨點(diǎn)鏈接的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)平滑滾動(dòng)頁(yè)面到指定錨點(diǎn)鏈接的方法,涉及jquery鼠標(biāo)事件及頁(yè)面滾動(dòng)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
jQuery-ui引入后Vs2008的無(wú)智能提示問(wèn)題解決方法
引入jQuery-vsdoc文件后,jQuery庫(kù)就能智能提示了,解決方法很簡(jiǎn)單在jQuery-ui的目錄下再加入一個(gè)空的JS文件,命名jquery-ui-vsdoc.js2014-02-02
jquery實(shí)現(xiàn)點(diǎn)擊TreeView文本父節(jié)點(diǎn)展開(kāi)/折疊子節(jié)點(diǎn)
今天客戶提出要點(diǎn)擊菜單(TreeView實(shí)現(xiàn)的)的父級(jí)節(jié)點(diǎn)時(shí),展開(kāi)節(jié)點(diǎn),很多新手朋友可能對(duì)此會(huì)很陌生,接下來(lái)介紹解決方法,感興趣的朋友可以了解下2013-01-01
jQuery實(shí)現(xiàn)彈窗下底部頁(yè)面禁止滑動(dòng)效果
在項(xiàng)目開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)遇到帶有彈窗的頁(yè)面,尤其是在移動(dòng)端。下面通過(guò)本文給大家分享jQuery實(shí)現(xiàn)彈窗下底部頁(yè)面禁止滑動(dòng)效果,需要的朋友參考下吧2017-12-12
JQuery入門—編寫一個(gè)簡(jiǎn)單的JQuery應(yīng)用案例
首先引入JQuery文件庫(kù)只需將文件導(dǎo)入頁(yè)面中即可,即在<head></head>中,接下來(lái)詳細(xì)介紹,感興趣的朋友可以了解下2013-01-01
jQuery實(shí)現(xiàn)開(kāi)關(guān)燈效果
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)開(kāi)關(guān)燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08

