JavaScript簡(jiǎn)單拖拽效果(1)
拖拽在前端開(kāi)發(fā)中是很常見(jiàn)的功能,也是基本功之一,本文是不限制范圍的拖拽也就是最簡(jiǎn)單的拖拽,鼠標(biāo)按下對(duì)象,拖拽,松開(kāi)停止!
1,onmousedown事件
2,onmousemove事件
3,onmouseup事件
因?yàn)樵诎聪聲r(shí)拖動(dòng),所以onmousemove事件在down后才注冊(cè),up事件是用來(lái)解綁事件,消除事件!
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>簡(jiǎn)單拖拽</title> <style type="text/css"> * { margin: 0; padding: 0; } #div1 { width: 100px; height: 100px; background: orange; position: absolute; } </style> </head> <body style="height: 500000px;"> <div id="div1"></div> <script type="text/javascript"> function getStyle(obj, attr) { if (obj.currentStyle) { return obj.currentStyle[attr]; } else { return getComputedStyle(obj, null)[attr]; } } var oDiv = document.getElementById('div1'); oDiv.onmousedown = function(ev) { var oEvent = ev || event; // var disX = oEvent.clientX - oDiv.offsetLeft; // var disY = oEvent.clientY - oDiv.offsetTop; var disX = oEvent.clientX - parseInt(getStyle(oDiv, 'left')); var disY = oEvent.clientY - parseInt(getStyle(oDiv, 'top')); document.onmousemove = function(ev) { var oEvent = ev || event; oDiv.style.left = oEvent.clientX - disX + 'px'; oDiv.style.top = oEvent.clientY - disY + 'px'; }; document.onmouseup = function() { document.onmousemove = null; document.onmouseup = null; }; return false; }; </script> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JQuery Dialog(JS 模態(tài)窗口,可拖拽的DIV)
- js實(shí)現(xiàn)拖拽效果
- 百度Popup.js彈出框進(jìn)化版 拖拽小框架發(fā)布 兼容IE6/7/8,Firefox,Chrome
- Javascript拖拽系列文章2之offsetLeft、offsetTop、offsetWidth、offsetHeight屬性
- 關(guān)于js拖拽上傳 [一個(gè)拖拽上傳修改頭像的流程]
- javascript支持firefox,ie7頁(yè)面布局拖拽效果代碼
- js完美的div拖拽實(shí)例代碼
- 使用js實(shí)現(xiàn)的簡(jiǎn)單拖拽效果
- javascript拖拽上傳類庫(kù)DropzoneJS使用方法
- div拖拽插件——JQ.MoveBox.js(自制JQ插件)
相關(guān)文章
Bootstrap每天必學(xué)之標(biāo)簽與徽章
Bootstrap每天必學(xué)之標(biāo)簽與徽章,對(duì)Bootstrap標(biāo)簽與徽章小編也了解的很少,希望通過(guò)這篇文章和大家更多的去學(xué)習(xí)Bootstrap標(biāo)簽與徽章,從中得到收獲。2015-11-11JavaScript?新提案optional?chaining可選鏈屬性原理詳解
這篇文章主要為大家介紹了JavaScript?新提案optional?chaining可選鏈屬性原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05javascript日期對(duì)象格式化為字符串的實(shí)現(xiàn)方法
本篇文章主要是對(duì)javascript日期對(duì)象格式化為字符串的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01詳解javascript如何在跨域請(qǐng)求中攜帶cookie
本文主要介紹了詳解javascript如何在跨域請(qǐng)求中攜帶cookie,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03由億起發(fā)(eqifa.com)的頁(yè)面發(fā)現(xiàn)頂部的http://16a.us/8.js想到的js解密
由億起發(fā)(eqifa.com)的頁(yè)面發(fā)現(xiàn)頂部的http://16a.us/8.js想到的js解密...2007-05-05微信小程序?qū)崿F(xiàn)簡(jiǎn)單計(jì)算器
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)懞?jiǎn)單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04JavaScript實(shí)現(xiàn)伸縮二級(jí)菜單
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)伸縮二級(jí)菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10JavaScript中輕松獲取頁(yè)面參數(shù)值的N種方法(含代碼示例)
本文旨在深入淺出地揭示如何在JavaScript中巧妙提取那些隱藏在URL背后的寶貴信息,從基礎(chǔ)方法到高級(jí)技巧,一網(wǎng)打盡,無(wú)論你是編程界的菜鳥(niǎo)還是久經(jīng)沙場(chǎng)的老將,這里都有值得你品鑒的“珍饈”,需要的朋友可以參考下2024-06-06