js實(shí)現(xiàn)小窗口拖拽效果
本文實(shí)例為大家分享了js實(shí)現(xiàn)窗口拖拽的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #box { height: 300px; width: 300px; background-color: green; position: absolute; } </style> </head> <body> <div id="box"> </div> </body> <script type="text/javascript"> var box = document.getElementById("box"); //鼠標(biāo)按下的函數(shù) box.onmousedown = function(ev) { var oEvent = ev || event; //求出鼠標(biāo)和box的位置差值 var x = oEvent.clientX - box.offsetLeft; var y = oEvent.clientY - box.offsetTop; //鼠標(biāo)移動(dòng)的函數(shù) //把事件加在document上,解決因?yàn)槭髽?biāo)移動(dòng)太快時(shí), //鼠標(biāo)超過box后就沒有了拖拽的效果的問題 document.onmousemove = function(ev) { var oEvent = ev || event; //保證拖拽框一直保持在瀏覽器窗口內(nèi)部,不能被拖出的瀏覽器窗口的范圍 var l = oEvent.clientX - x; var t = oEvent.clientY - y; if(l < 0) { l = 0; } else if(l > document.documentElement.clientWidth - box.offsetWidth) { l = document.documentElement.clientWidth - box.offsetWidth; } if(t < 0) { t = 0; } else if(t > document.documentElement.clientHeight - box.offsetHeight) { t = document.documentElement.clientHeight - box.offsetHeight; } box.style.left = l + "px"; box.style.top = t + "px"; } //鼠標(biāo)抬起的函數(shù) document.onmouseup = function() { document.onmousemove = null; document.onmouseup = null; } //火狐瀏覽器在拖拽空div時(shí)會(huì)出現(xiàn)bug //return false阻止默認(rèn)事件,解決火狐的bug return false; } </script> </html>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Textarea輸入字?jǐn)?shù)限制實(shí)例(兼容iOS&安卓)
下面小編就為大家?guī)硪黄猅extarea輸入字?jǐn)?shù)限制實(shí)例(兼容iOS&安卓)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07基于BootStrap Metronic開發(fā)框架經(jīng)驗(yàn)小結(jié)【三】下拉列表Select2插件的使用
本文主要給大家介紹在編輯頁面中常用到的控件Select2,這個(gè)控件可以更加豐富傳統(tǒng)的Select下拉列表控件,提供更多的功能和更好的用戶體驗(yàn),2016-05-05正則表達(dá)式在js前端的15個(gè)使用場景梳理總結(jié)
本篇帶來15個(gè)正則使用場景,按需索取,收藏恒等于學(xué)會(huì)??!有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07inner join 內(nèi)聯(lián)與left join 左聯(lián)的實(shí)例代碼
這篇文章主要介紹了inner join 內(nèi)聯(lián)與left join 左聯(lián)的實(shí)例代碼,需要的朋友可以參考下2017-09-09解析arp病毒背后利用的Javascript技術(shù)附解密方法
解析arp病毒背后利用的Javascript技術(shù)附解密方法...2007-08-08js實(shí)現(xiàn)多行文本框統(tǒng)計(jì)剩余字?jǐn)?shù)功能
本文主要介紹了js實(shí)現(xiàn)多行文本框統(tǒng)計(jì)剩余字?jǐn)?shù)功能的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03Javascript Memoization 緩存函數(shù)使用說明
Memoization 是一種將函數(shù)返回值緩存起來的方法,學(xué)習(xí)js 面向?qū)ο蟮呐笥芽梢詤⒖枷隆?2010-05-05