国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現拖拽的方法分析

2019-11-19 18:22:44
字體:
來源:轉載
供稿:網友

本文實例分析了JS實現拖拽的方法。分享給大家供大家參考,具體如下:

分析:

1.鼠標按下,拖拽開始,鼠標移動,拖拽進行,鼠標抬起,拖拽結束(三個事件)

2.被拖動元素與鼠標之間的位置在拖動過程中始終不變,利用這個原理,被拖動元素的位置就是鼠標的左(上)邊距-鼠標與被拖動元素之間的距離

注意:onmousemove應該是在onmousedown發生時進行,不然不需要點擊也能拖動了。

用戶可能會將拖動層脫出窗口外。

核心代碼:

window.onload=function(){  var box=document.getElementById("div");  var disX;  var disY;  box.onmousedown=function(ev){ //如果三個事件都用在box上,拖得快一點,鼠標脫離移動層,移動層就拖不動了    var oEvent=ev||event;    disX=oEvent.clientX-box.offsetLeft;    disY=oEvent.clientY-box.offsetTop;    document.onmousemove=function(ev){      var oEvent=ev||event;      var l=oEvent.clientX-disX;      var t=oEvent.clientY-disY;      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';    };    document.onmouseup=function(){      document.onmousemove=null;      document.onmouseup=null; //鼠標抬起來后,onmouseup事件本身也沒意義了,所以最好清理掉    };    return false; //阻止默認行為,空的div在低版本ff下,第二次拖動手型會變異常  };}

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript中json操作技巧總結》、《JavaScript錯誤與調試技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尖扎县| 嘉荫县| 鲁甸县| 佛学| 会东县| 伊宁市| 福安市| 香河县| 克山县| 湟源县| 临沧市| 靖州| 绵竹市| 沽源县| 合山市| 宁都县| 镇宁| 南涧| 平顺县| 阿城市| 永年县| 中卫市| 合江县| 中西区| 满洲里市| 安义县| 陕西省| 灌南县| 浠水县| 大同市| 诸城市| 曲阜市| 吉水县| 青岛市| 资溪县| 莎车县| 黑龙江省| 运城市| 渝北区| 垣曲县| 通辽市|