1. 程式人生 > >關於屏幕滾動觸發的一些事件

關於屏幕滾動觸發的一些事件

分辨 top offset ava tel interval 文檔 計算 方法

屏幕滾動時可以監聽到的事件,實現滾動tab切換,和返回頂部

  • 獲取頁面被卷起的高度
    Math.max(document.documentElement.scrollTop, document.body.scrollTop);
  • 屏幕分辨率的高
    window.screen.height;
  • 屏幕分辨率的寬
    window.screen.height;
  • 獲取容器距離文檔頂部的距離
    dom元素.offsetTop;
  • 獲取容器距離文檔左邊的距離
    dom元素.offsetLeft;
  • 計算容器距離屏幕頂部的距離,用容器距離文檔頂部的距離減去頁面被卷起的高度
    dom元素.offsetTop - Math.max(document.documentElement.scrollTop, document.body.scrollTop);

    相關的方法

    返回頂部

// from: 滾動開始點, to: 滾動結束點
function backTop (from, to) {
    var t = setInterval(function () {
        from /= 1.1;
        if (from < 0.5) {
            from = to;
            clearInterval(t);
        }
        document.body.scrollTop = document.documentElement.from = from;
    }, 16.7);
}

關於屏幕滾動觸發的一些事件