亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

原生js如果實現類似fullpage的單頁/全屏滾動效果

發布時間:2021-06-21 11:20:58 來源:億速云 閱讀:159 作者:小新 欄目:web開發

小編給大家分享一下原生js如果實現類似fullpage的單頁/全屏滾動效果,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

前言

單頁/全屏滾動頁面越來越常見了,它多用于產品介紹、招聘等內容較少的簡單頁面。針對這種效果也出現了不少 jQuery 插件,本文實現的效果類似于fullpage的單屏滾動,使用原生JS實現,不依賴任何js庫;

css代碼:

html,body {height:100%;}
body {margin:0px;}
div {height:100%;}

html代碼:

<div ></div>
<div ></div>
<div ></div>
<div ></div>

js代碼:

document.addEventListener("DOMContentLoaded", function() {
 var body = document.body,
 html = document.documentElement;
 var itv, height = document.body.offsetHeight;
 var page = scrollTop() / height | 0;
 //窗口大小改變事件
 addEventListener("resize", onresize, false);
 onresize();
 //滾輪事件
 document.body.addEventListener(
 "onwheel" in document ? "wheel" : "mousewheel",
 function(e) {
  clearTimeout(itv);
  itv = setTimeout(function() {
  var delta = e.wheelDelta / 120 || -e.deltaY / 3;
  page -= delta;
  var max = (document.body.scrollHeight / height | 0) - 1;
  if (page < 0) return page = 0;
  if (page > max) return page = max;
  move();
  }, 100);
  e.preventDefault();
 }
 );
 //平滑滾動
 function move() {
 var value = height * page;
 var diff = scrollTop() - value;
 (function callee() {
  diff = diff / 1.2 | 0;
  scrollTop(value + diff);
  if (diff) itv = setTimeout(callee, 16);
 })();
 };
 //resize事件
 function onresize() {
 height = body.offsetHeight;
 move();
 };
 //獲取或設置scrollTop
 function scrollTop(v) {
 if (v == null) return Math.max(body.scrollTop, html.scrollTop);
 else body.scrollTop = html.scrollTop = v;
 };
});

以上是“原生js如果實現類似fullpage的單頁/全屏滾動效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

马关县| 呼和浩特市| 三原县| 洛川县| 呼伦贝尔市| 大石桥市| 诸暨市| 容城县| 湘西| 阳谷县| 盘锦市| 澄城县| 绥中县| 浠水县| 同江市| 大悟县| 深水埗区| 东明县| 临夏市| 克什克腾旗| 湘乡市| 南江县| 东至县| 潢川县| 城口县| 米易县| 柘荣县| 土默特左旗| 太原市| 昭苏县| 若尔盖县| 桂阳县| 盖州市| 玉树县| 雷州市| 汾阳市| 洪洞县| 石首市| 大埔区| 六安市| 简阳市|