欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript實(shí)現(xiàn)完美拖拽效果

 更新時(shí)間:2015年05月06日 10:39:15   投稿:hebedich  
javascript實(shí)現(xiàn)的拖拽效果,可以把屏幕上的圖片拖動(dòng)到任意地方,效果平滑,點(diǎn)擊圖片還可以從側(cè)邊展開圖片的詳細(xì)信息,非常好的相冊(cè)效果

拖拽的原理

1.獲取距離(鼠標(biāo)的位置-odiv的外邊距)

2.理解什么時(shí)候用onmousemove事件

3.判斷是否過(guò)界

html代碼:

<div id="div1"></div>

css代碼:

#div1{width:100px;height:100px;background:red;position:absolute}

javascript代碼:

window.onload=function(){
  var oDiv=document.getElementById("div1");
  var x=0;
  var y=0;
  oDiv.onmousedown=function(ev){
    var oEvent=ev||event;
    //鼠標(biāo)的橫坐標(biāo)減去div的offsetLeft
    x=oEvent.clientX-oDiv.offsetLeft;
    //鼠標(biāo)的縱坐標(biāo)減去div的offsetTop
    y=oEvent.clientY-oDiv.offsetTop; 
     
    document.onmousemove=function(ev){
      var oEvent=ev||event;   
      var left=oEvent.clientX-x;
      var right=oEvent.clientY-y;
      //判斷左邊是否過(guò)界
      if(left<0){
        left=0;
      }
      //判斷右邊是否過(guò)界
      else if(left>document.documentElement.clientWidth-oDiv.offsetWidth){
        left=document.documentElement.clientWidth-oDiv.offsetWidth;
      }
      //判斷上邊是否過(guò)界
      if(right<0){
        right=0;
      }
      //判斷下邊是否過(guò)界
      else if(right>document.documentElenment.clientHeight){
        right=document.documentElenment.clientHeight-oDiv.offsetHeight;
      }
      oDiv.style.left=left+"px";
      oDiv.style.top=right+"px";
    }   
    document.onmouseup=function(){
      //清空document的事件
      document.onmousemove=null;
      document.onmouseup=null;
    }
    //解決低版本火狐bug,干掉系統(tǒng)默認(rèn)
    return false;
  }
}

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評(píng)論