最新国产好看的视频,伊人天堂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?技巧和竅門(mén),每種技巧和竅門(mén)都有通俗易懂的示例,讓我們一起來(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)論

湟源县| 大英县| 贺州市| 徐州市| 安仁县| 勐海县| 普安县| 鄂温| 津南区| 宁国市| 台南市| 镇安县| 深圳市| 徐州市| 寿光市| 普洱| 烟台市| 临清市| 瓮安县| 阿尔山市| 陵水| 西丰县| 高安市| 恩施市| 神木县| 伊宁县| 饶阳县| 龙口市| 策勒县| 丹凤县| 台山市| 微山县| 社旗县| 汝城县| 和硕县| 罗甸县| 葵青区| 康马县| 深圳市| 红原县| 汤原县|