最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實現(xiàn)拖拽的方法分析

 更新時間:2016年12月20日 14:56:58   作者:鬼畜十三  
這篇文章主要介紹了JS實現(xiàn)拖拽的方法,結(jié)合實例形式分析了JS拖拽的實現(xiàn)原理、實現(xiàn)技巧與相關(guān)注意事項,需要的朋友可以參考下

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

分析:

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

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

注意:onmousemove應(yīng)該是在onmousedown發(fā)生時進行,不然不需要點擊也能拖動了。

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

核心代碼:

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下,第二次拖動手型會變異常
  };
}

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

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

相關(guān)文章

最新評論

内黄县| 大安市| 望谟县| 广水市| 新龙县| 体育| 邛崃市| 宁乡县| 界首市| 闽侯县| 甘南县| 长子县| 兴仁县| 濮阳县| 唐山市| 永福县| 玉龙| 土默特左旗| 山阳县| 普定县| 湖南省| 隆子县| 凤庆县| 昆明市| 海原县| 建瓯市| 台北市| 延川县| 桐乡市| 凯里市| 平顶山市| 东辽县| 沾化县| 清徐县| 从江县| 巴青县| 罗江县| 昌吉市| 奉贤区| 萝北县| 北川|