jquery實現(xiàn)簡單拖拽效果
本文實例為大家分享了jquery實現(xiàn)簡單拖拽的具體代碼,供大家參考,具體內(nèi)容如下
基本思路:
1.首先需要鼠標按下拖動區(qū)域,也就是需要調(diào)用 mousedown 方法
2.鼠標移動,需要拖動的元素跟著鼠標移動,調(diào)用 mousemove 方法
3.鼠標彈起拖動消失,調(diào)用 mouseup 方法
下面看一下代碼:
頁面結(jié)構(gòu):
樣式:
.drag { width: 200px; height: 200px; background-color: skyblue; position: absolute; }
效果圖:
邏輯代碼:
// 拖拽函數(shù) function function_drag(ele) { $(ele).mousedown(function(e){ // 獲取鼠標離元素(0,0)位置的距離 var positionDiv = $(this).offset(); //offset 元素的偏移坐標 有兩個屬性:top left(對顯示的元素有用) var distenceX = e.pageX - positionDiv.left; //page 顯示鼠標指針的位置 (此時相當于,鼠標按下的初始值) var distenceY = e.pageY - positionDiv.top; // // 鼠標移動 $(document).mousemove(function(e){ // 獲取鼠標的位移(鼠標此時的page值 - 鼠標按下時的初始值 = 元素的移動值) 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' }) }) // 鼠標抬起 $(document).mouseup(function(e){ $(document).off('mousemove'); }) }) } function_drag('.drag');
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
增強用戶體驗友好性之jquery easyui window 窗口關(guān)閉時的提示
在項目中,客戶提出這么個要求,就是在關(guān)閉彈出的窗口的時候,如果點擊 紅X 或 取消按鈕 則提示 ”確認保存了當前的操作“ 這么個信息,否則就不提示啦2012-06-06基于jquery實現(xiàn)的一個選擇中國大學(xué)的彈框 (數(shù)據(jù)、步驟、代碼)
基于jquery實現(xiàn)的一個選擇中國大學(xué)的彈框,需要的朋友可以參考下2012-07-07jquery 操作單選框,復(fù)選框,下拉列表實現(xiàn)代碼
jquery 操作單選框,復(fù)選框,下拉列表實現(xiàn)代碼,需要的朋友可以參考下。2009-10-10基于jQuery的為attr添加id title等效果的實現(xiàn)代碼
下面的例子是通過jquery為連接增加title描述的代碼,在當前頁的連接上寫上,你好,現(xiàn)在在試驗連接文字的簡單描述。2011-04-04Easyui 去除jquery-easui tab頁div自帶滾動條的方法
這篇文章主要介紹了Easyui 去除jquery-easui tab頁div自帶滾動條的方法,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05