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)文章
增強(qiáng)用戶體驗(yàn)友好性之jquery easyui window 窗口關(guān)閉時(shí)的提示
在項(xiàng)目中,客戶提出這么個(gè)要求,就是在關(guān)閉彈出的窗口的時(shí)候,如果點(diǎn)擊 紅X 或 取消按鈕 則提示 ”確認(rèn)保存了當(dāng)前的操作“ 這么個(gè)信息,否則就不提示啦2012-06-06Jquery輪播效果實(shí)現(xiàn)過(guò)程解析
這篇文章主要為大家詳細(xì)的分析了Jquery輪播效果實(shí)現(xiàn)過(guò)程的具體步驟以及實(shí)現(xiàn)思路,幫助大家快速實(shí)現(xiàn)Jquery輪播效果,感興趣的小伙伴們可以參考一下2016-03-03基于jquery實(shí)現(xiàn)的一個(gè)選擇中國(guó)大學(xué)的彈框 (數(shù)據(jù)、步驟、代碼)
基于jquery實(shí)現(xiàn)的一個(gè)選擇中國(guó)大學(xué)的彈框,需要的朋友可以參考下2012-07-07jQuery實(shí)現(xiàn)單擊和鼠標(biāo)感應(yīng)事件
這篇文章主要介紹了jQuery實(shí)現(xiàn)單擊和鼠標(biāo)感應(yīng)事件的方法的相關(guān)資料,需要的朋友可以參考下2015-02-02jquery 操作單選框,復(fù)選框,下拉列表實(shí)現(xiàn)代碼
jquery 操作單選框,復(fù)選框,下拉列表實(shí)現(xiàn)代碼,需要的朋友可以參考下。2009-10-10基于jQuery的為attr添加id title等效果的實(shí)現(xiàn)代碼
下面的例子是通過(guò)jquery為連接增加title描述的代碼,在當(dāng)前頁(yè)的連接上寫上,你好,現(xiàn)在在試驗(yàn)連接文字的簡(jiǎn)單描述。2011-04-04Easyui 去除jquery-easui tab頁(yè)div自帶滾動(dòng)條的方法
這篇文章主要介紹了Easyui 去除jquery-easui tab頁(yè)div自帶滾動(dòng)條的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05jQuery通用的全局遍歷方法$.each()用法實(shí)例
這篇文章主要介紹了jQuery通用的全局遍歷方法$.each()用法,結(jié)合實(shí)例形式分析了$.each()方法實(shí)現(xiàn)遍歷功能的相關(guān)技巧,需要的朋友可以參考下2016-07-07