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

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

 更新時(shí)間:2015年05月06日 10:39:15   投稿:hebedich  
javascript實(shí)現(xiàn)的拖拽效果,可以把屏幕上的圖片拖動(dòng)到任意地方,效果平滑,點(diǎn)擊圖片還可以從側(cè)邊展開(kāi)圖片的詳細(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)文章

  • 如何用JavaScript實(shí)現(xiàn)一個(gè)數(shù)組惰性求值庫(kù)

    如何用JavaScript實(shí)現(xiàn)一個(gè)數(shù)組惰性求值庫(kù)

    這篇文章主要介紹了如何用JavaScript實(shí)現(xiàn)一個(gè)數(shù)組惰性求值庫(kù),對(duì)惰性求值感興趣的同學(xué),可以參考下
    2021-05-05
  • JavaScript實(shí)現(xiàn)字符串與HTML格式相互轉(zhuǎn)換

    JavaScript實(shí)現(xiàn)字符串與HTML格式相互轉(zhuǎn)換

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)字符串與HTML格式相互轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 20個(gè)拿來(lái)就能用的JavaScript技巧分享

    20個(gè)拿來(lái)就能用的JavaScript技巧分享

    這篇文章主要來(lái)和大家一起探討一下20?種?JavaScript?技巧和竅門,每種技巧和竅門都有通俗易懂的示例,讓我們一起來(lái)提升你的?JavaScript?技能吧
    2023-10-10
  • JS數(shù)組reduce()方法原理及使用技巧解析

    JS數(shù)組reduce()方法原理及使用技巧解析

    這篇文章主要介紹了JS數(shù)組reduce()方法原理及使用技巧解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • javascript如何實(shí)現(xiàn)360度全景照片問(wèn)題匯總

    javascript如何實(shí)現(xiàn)360度全景照片問(wèn)題匯總

    這篇文章主要為大家詳細(xì)匯總了javascript如何實(shí)現(xiàn)360度全景照片問(wèn)題,感興趣的朋友可以參考一下
    2016-04-04
  • 深入理解JavaScript中的并行處理

    深入理解JavaScript中的并行處理

    這篇文章給大家詳細(xì)介紹了JavaScript中的并行處理,一直以來(lái),JavaScript 都并沒(méi)有多線程的能力,而單線程在讓開(kāi)發(fā)者方便的同時(shí),也使它一直不能處理計(jì)算量復(fù)雜的場(chǎng)景,唯一方法就是讓服務(wù)端去做。下來(lái)通過(guò)這篇文章我們一起來(lái)看看詳細(xì)介紹。
    2016-09-09
  • 基于BootStrap的文本編輯器組件Summernote

    基于BootStrap的文本編輯器組件Summernote

    Summernote是一個(gè)基于jquery的bootstrap超級(jí)簡(jiǎn)單WYSIWYG在線編輯器。這篇文章主要介紹了基于BootStrap的文本編輯器組件Summernote的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • 嵌入式iframe子頁(yè)面與父頁(yè)面js通信的方法

    嵌入式iframe子頁(yè)面與父頁(yè)面js通信的方法

    這篇文章主要介紹了嵌入式iframe子頁(yè)面與父頁(yè)面js通信的方法,實(shí)例分析了嵌入式iframe子頁(yè)面與父頁(yè)面js通信的常用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01
  • JavaScript按值刪除數(shù)組元素的方法

    JavaScript按值刪除數(shù)組元素的方法

    這篇文章主要介紹了JavaScript按值刪除數(shù)組元素的方法,涉及javascript操作數(shù)組的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • tsconfig.json配置詳解

    tsconfig.json配置詳解

    這篇文章主要介紹了tsconfig.json配置詳解,tsconfig.json文件中指定了用來(lái)編譯這個(gè)項(xiàng)目的根文件和編譯選項(xiàng),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05

最新評(píng)論

雷波县| 金阳县| 泌阳县| 栾城县| 宁波市| 将乐县| 阳谷县| 荔波县| 友谊县| 响水县| 鄂伦春自治旗| 安福县| 玉溪市| 凤山县| 孝昌县| 江源县| 通辽市| 个旧市| 漳平市| 蛟河市| 沾益县| 延津县| 唐海县| 韶关市| 长春市| 易门县| 通河县| 温宿县| 福安市| 祥云县| 友谊县| 江川县| 镇赉县| 深圳市| 文化| 扶沟县| 彩票| 聊城市| 仪陇县| 黑龙江省| 津南区|