JS實(shí)現(xiàn)的簡(jiǎn)單拖拽功能示例
本文實(shí)例講述了JS實(shí)現(xiàn)的簡(jiǎn)單拖拽功能。分享給大家供大家參考,具體如下:
1、實(shí)例代碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>js實(shí)現(xiàn)拖拽</title> <style> #water{ width:400px; height:188px; background-color: #ff6600; } #water:hover{ cursor: pointer; } </style> </head> <body> <div id="water"></div> <script> dragInit("water");//調(diào)用 //拖拽初始化 function dragInit(id){ var $div = document.getElementById(id); var style = { position: "absolute", left: "0", top: "0" } for(var k in style){ $div.style[k] = style[k];//設(shè)置關(guān)鍵css } $div.onmousedown = function(e){//鼠標(biāo)按鍵按下 e = e || window.event; var x = e.clientX - $div.offsetLeft;//鼠標(biāo)到左上角的距離信息, 固定不變 var y = e.clientY - $div.offsetTop; document.onmousemove = function(e){//鼠標(biāo)移動(dòng) e = e || window.event; var L = e.clientX - x; var T = e.clientY - y; var pW = document.documentElement.clientWidth;//頁(yè)面寬度 var pH = document.documentElement.clientHeight; var divW = $div.offsetWidth;//Dom寬度 var divH = $div.offsetHeight; // 范圍限定 if(L < 0){ L = 0; } if(T < 0){ T = 0; } if(L > pW - divW){ L = pW - divW; } if(T > pH - divH){ T = pH - divH; } // 范圍限定 end $div.style.left = L + "px"; $div.style.top = T + "px"; }; document.onmouseup = function(e){//鼠標(biāo)按鍵松開(kāi) document.onmousemove = null; }; }; } </script> </body> </html>
2、運(yùn)行效果圖如下:
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JQuery Dialog(JS 模態(tài)窗口,可拖拽的DIV)
- js實(shí)現(xiàn)拖拽效果
- Javascript拖拽系列文章2之offsetLeft、offsetTop、offsetWidth、offsetHeight屬性
- javascript支持firefox,ie7頁(yè)面布局拖拽效果代碼
- 關(guān)于js拖拽上傳 [一個(gè)拖拽上傳修改頭像的流程]
- js完美的div拖拽實(shí)例代碼
- javascript拖拽上傳類庫(kù)DropzoneJS使用方法
- 鼠標(biāo)拖拽移動(dòng)子窗體的JS實(shí)現(xiàn)
- 使用js實(shí)現(xiàn)的簡(jiǎn)單拖拽效果
- js 表格排序(編輯+拖拽+縮放)
- js最簡(jiǎn)單的拖拽效果實(shí)現(xiàn)代碼
- Javascript拖拽系列文章1之offsetParent屬性
- js拖拽一些常見(jiàn)的思路方法整理
- javascript實(shí)現(xiàn)移動(dòng)端上的觸屏拖拽功能
相關(guān)文章
JavaScript 利用StringBuffer類提升+=拼接字符串效率
JavaScript 利用StringBuffer類提升+=拼接字符串效率,需要的朋友可以參考下。2009-11-11只需一行代碼,輕松實(shí)現(xiàn)一個(gè)在線編輯器
在瀏覽器地址欄中輸入一行代碼:data:text/html, <html contenteditable> ,回車即可把瀏覽器變臨時(shí)編輯器(需要瀏覽器支持 HTML5 屬性 contenteditable)2013-11-11HTML+JS實(shí)現(xiàn)3D倒計(jì)時(shí)爆炸特效
這篇文章主要為大家詳細(xì)介紹了如何結(jié)合HTML與JS實(shí)現(xiàn)3D倒計(jì)時(shí)爆炸特效,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下2024-01-01微信小程序?qū)崿F(xiàn)點(diǎn)擊卡片 翻轉(zhuǎn)效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)點(diǎn)擊卡片 翻轉(zhuǎn)效果本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09JavaScript使用二分查找算法在數(shù)組中查找數(shù)據(jù)的方法
這篇文章主要介紹了JavaScript使用二分查找算法在數(shù)組中查找數(shù)據(jù)的方法,較為詳細(xì)的分析了二分查找法的原理與javascript實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-04-04JavaScript實(shí)現(xiàn)限時(shí)秒殺功能
各種電商活動(dòng)都喜換選擇限時(shí)秒殺活動(dòng)形式,這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)限時(shí)秒殺功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08JavaScript設(shè)計(jì)模式中的觀察者模式
這篇文章主要介紹了JavaScript設(shè)計(jì)模式中的觀察者模式,觀察者設(shè)計(jì)模式適用于監(jiān)聽(tīng)一對(duì)多的操作,例如監(jiān)聽(tīng)對(duì)象屬性的修改等等,觀察者模式能夠降低代碼耦合度,提升可擴(kuò)展性2022-06-06