這篇文章主要介紹如何使用原生js實現(xiàn)可拖拽效果,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司是一家專業(yè)提供中方企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站設(shè)計、H5建站、小程序制作等業(yè)務(wù)。10年已為中方眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
效果圖:
代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>可拖拽特效</title> <style type="text/css"> *{margin: 0;padding: 0;} .header{width:100%;height:30px;background:#036663;line-height:30px;color:#fff;text-indent:30px;} #demo{width:400px;height:300px;border:solid 5px #eee;box-shadow:0 0 5px #666;position:absolute;top:40%;left:40%;} #innerht{height:25px;background:#036663;border-bottom:solid 1px #369;color:#fff;text-indent:10px;cursor:move;} #close{float:right;cursor:pointer;} </style> </head> <body> <div class="header">注冊信息</div> <div id="demo"> <div id="innerht">注冊信息(可拖拽)<span id="close">【關(guān)閉】</span></div> <div class="write"></div> </div> </body> <script type="text/javascript"> (function(window){ function $(id){ return document.getElementById(id); }; // 獲取對象 var innerht = $("innerht"),demo = $("demo"),close = $("close"); // 給innerht綁定鼠標(biāo)事件 innerht.onmousedown = function(event){ // 解決event兼容問題 var event = event || window.event; // 獲取鼠標(biāo)在頁面上坐標(biāo) var pageX = event.pageX || event.clientX + document.documentElement.scrollLeft; var pageY = event.pageY || event.clientY + document.documentElement.scrollTop; // 獲取鼠標(biāo)在innerht內(nèi)部的坐標(biāo) var innerX = pageX - demo.offsetLeft; var innerY = pageY - demo.offsetTop; // 給document綁定鼠標(biāo)移動事件,防止鼠標(biāo)快速滑動時滑出innerht document.onmousemove = function(event){ var event = event || window.event; // 獲取鼠標(biāo)移動時的坐標(biāo) var moveX = event.pageX || event.clientX + document.documentElement.scrollLeft; var moveY = event.pageY || event.clientY + document.documentElement.scrollTop; // 鼠標(biāo)移動時demo的位置坐標(biāo) var demoX = moveX - innerX ; var demoY = moveY - innerY ; // 鼠標(biāo)移動時demo的位置坐標(biāo) demo.style.left = demoX + "px"; demo.style.top = demoY + "px"; //清除選中文字 window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty(); } }; // 鼠標(biāo)抬起清除拖拽效果 document.onmouseup = function(){ document.onmousemove = null ; }; // 點擊關(guān)閉按鈕關(guān)閉跟隨框 close.onclick = function(){ this.parentNode.parentNode.style.display = "none"; }; })(window) </script> </html>
以上是“如何使用原生js實現(xiàn)可拖拽效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享題目:如何使用原生js實現(xiàn)可拖拽效果
文章位置:http://jinyejixie.com/article26/posgcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、微信小程序、手機(jī)網(wǎng)站建設(shè)、企業(yè)建站、App開發(fā)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)