中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用原生javascript實現的全屏滾動功能

發布時間:2021-04-13 13:48:16 來源:億速云 閱讀:207 作者:小新 欄目:web開發

這篇文章主要介紹了怎么使用原生javascript實現的全屏滾動功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

原理:

1. 計算當前瀏覽器屏幕高度,每次翻頁顯示的內容高度即為屏幕高度

2. 對鼠標滾輪事件進行監聽,注意滾輪事件的瀏覽器兼容問題。

廢話不多說,直接上代碼

html代碼:

<div id="wrap">
  <div id="main" >
    <div class="content num1">
      <img src="https://cache.yisu.com/upload/information/20200622/114/64924.jpg" width="100%" height="100%">
    </div>
    <div class="content num2">
      <img src="https://cache.yisu.com/upload/information/20200622/114/64928.jpg" width="100%" height="100%">
    </div>
    <div class="content num3">
      <img src="https://cache.yisu.com/upload/information/20200622/114/64929.jpg" width="100%" height="100%">
    </div>
    <div class="content num4">
      <img src="https://cache.yisu.com/upload/information/20200622/114/64930.jpg" width="100%" height="100%">
    </div>
  </div>
</div>

css代碼:

#wrap{overflow: hidden;width: 100%;}
#main{top: 0;position: relative;}
.content{width: 100%;margin: 0;height: 100%;}
.num1{background: #e8e8e8;}
.num2{background: pink;}
.num3{background: yellow;}
.num4{background: orange;}

js代碼:

<script type="text/javascript">
  var wrap = document.getElementById("wrap");
  var divHeight = window.innerHeight;
  wrap.style.height = divHeight + "px";
  var content = $(".content");//懶得寫獲取類的原生js代碼了,直接用了jquery,=。=
  content.height(divHeight);
  var startTime = 0, //開始翻屏時間
    endTime = 0,
    now = 0;
  if ((navigator.userAgent.toLowerCase().indexOf("firefox")!=-1)){
    //for firefox;
    document.addEventListener("DOMMouseScroll",scrollFun,false);
  }
  else if (document.addEventListener) {
    document.addEventListener("mousewheel",scrollFun,false);
  }
  else if (document.attachEvent) {
    document.attachEvent("onmousewheel",scrollFun);
  }
  else{
    document.onmousewheel = scrollFun;
  }
  //滾動事件處理函數
  function scrollFun(event){
      startTime = new Date().getTime();
      var delta = event.detail || (-event.wheelDelta);
      if ((endTime - startTime) < -1000) {
        //1秒內執行一次翻頁
        if (delta > 0 && parseInt(main.style.top) > -divHeight * ( content.length - 1)) { //向下翻頁
          now += divHeight ;
          turnPage(now);
        }
        if (delta < 0 && parseInt(main.style.top) < 0) { //向上翻頁
          now -= divHeight ;
          turnPage(now);
        }
        endTime = new Date().getTime();
      }
      else{
        event.preventDefault();
      }
  }
  //翻頁函數
  function turnPage(now){
    $("#main").animate({top:(-now+'px')},1000);
    //懶得寫動畫代碼了,直接用了jquery,=。=
  }
</script>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么使用原生javascript實現的全屏滾動功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

华容县| 高陵县| 呼和浩特市| 舞钢市| 泾川县| 莫力| 普兰县| 威远县| 吉安市| 伊金霍洛旗| 宿迁市| 久治县| 大田县| 区。| 乡宁县| 新余市| 西畴县| 饶阳县| 宝山区| 宜黄县| 景德镇市| 察雅县| 太仆寺旗| 永城市| 天等县| 民丰县| 井研县| 炉霍县| 平乐县| 舞阳县| 邵武市| 二连浩特市| 东港市| 南投市| 沾益县| 沂源县| 灯塔市| 腾冲县| 霞浦县| 遵义市| 固安县|