原生js實(shí)現(xiàn)可拖拽效果
更新時(shí)間:2017年02月28日 11:45:43 作者:chang紅達(dá)
本文主要介紹了原生js實(shí)現(xiàn)可拖拽效果的實(shí)例,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
效果圖:
代碼如下:
<!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">注冊(cè)信息</div> <div id="demo"> <div id="innerht">注冊(cè)信息(可拖拽)<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); }; // 獲取對(duì)象 var innerht = $("innerht"),demo = $("demo"),close = $("close"); // 給innerht綁定鼠標(biāo)事件 innerht.onmousedown = function(event){ // 解決event兼容問(wèn)題 var event = event || window.event; // 獲取鼠標(biāo)在頁(yè)面上坐標(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)移動(dòng)事件,防止鼠標(biāo)快速滑動(dòng)時(shí)滑出innerht document.onmousemove = function(event){ var event = event || window.event; // 獲取鼠標(biāo)移動(dòng)時(shí)的坐標(biāo) var moveX = event.pageX || event.clientX + document.documentElement.scrollLeft; var moveY = event.pageY || event.clientY + document.documentElement.scrollTop; // 鼠標(biāo)移動(dòng)時(shí)demo的位置坐標(biāo) var demoX = moveX - innerX ; var demoY = moveY - innerY ; // 鼠標(biāo)移動(dòng)時(shí)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 ; }; // 點(diǎn)擊關(guān)閉按鈕關(guān)閉跟隨框 close.onclick = function(){ this.parentNode.parentNode.style.display = "none"; }; })(window) </script> </html>
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
您可能感興趣的文章:
相關(guān)文章
layui問(wèn)題之渲染數(shù)據(jù)表格時(shí),僅出現(xiàn)10條數(shù)據(jù)的解決方法
今天小編就為大家分享一篇layui問(wèn)題之渲染數(shù)據(jù)表格時(shí),僅出現(xiàn)10條數(shù)據(jù)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09javascript比較兩個(gè)日期相差天數(shù)的方法
這篇文章主要介紹了javascript比較兩個(gè)日期相差天數(shù)的方法,涉及javascript針對(duì)日期的轉(zhuǎn)換與比較的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07屏蔽網(wǎng)頁(yè)右鍵復(fù)制和ctrl+c復(fù)制的js代碼
解決的方法就是直接把網(wǎng)頁(yè)保存下來(lái)然后刪掉下面這段js代碼,然后就可以正常用右鍵菜單,也可以通過(guò)設(shè)置瀏覽器的安全級(jí)別到最高級(jí)別來(lái)解決問(wèn)題2013-01-01深入理解JavaScript系列(14) 作用域鏈介紹(Scope Chain)
在第12章關(guān)于變量對(duì)象的描述中,我們已經(jīng)知道一個(gè)執(zhí)行上下文 的數(shù)據(jù)(變量、函數(shù)聲明和函數(shù)的形參)作為屬性存儲(chǔ)在變量對(duì)象中2012-04-04uniapp小程序開(kāi)發(fā)組件封裝之自定義輪播圖效果
這篇文章主要介紹了uniapp小程序開(kāi)發(fā)組件封裝之自定義輪播圖,本文主要展示小程序端封裝輪播圖組件,使用的是uniapp進(jìn)行的開(kāi)發(fā),主要使用的是uniapp官網(wǎng)提供的swiper組件,需要的朋友可以參考下2023-02-02jsPDF生成pdf后在網(wǎng)頁(yè)展示實(shí)例
本文為大家介紹下jsPDF生成pdf后如何在網(wǎng)頁(yè)展示,下面有個(gè)不錯(cuò)示例,大家可以參考下2014-01-01