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

溫馨提示×

JS實現回到頁面頂部的五種寫法(從實現到增強)

js
小億
206
2024-01-11 06:12:18
欄目: 編程語言

  1. 使用window.scrollTo或document.documentElement.scrollTop方法實現:
function scrollToTop() {
  window.scrollTo(0, 0);
}
  1. 使用window.scrollTo方法結合requestAnimationFrame實現平滑滾動效果:
function smoothScrollToTop() {
  const currentScroll = document.documentElement.scrollTop || document.body.scrollTop;
  if (currentScroll > 0) {
    window.requestAnimationFrame(smoothScrollToTop);
    window.scrollTo(0, currentScroll - (currentScroll / 8));
  }
}
  1. 使用scrollIntoView方法實現滾動到指定元素的頂部:
function scrollToElementTop(element) {
  element.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
  1. 使用animate方法實現平滑滾動效果:
function animateScrollToTop(duration) {
  const start = document.documentElement.scrollTop || document.body.scrollTop;
  const target = 0;
  const distance = target - start;
  const startTime = performance.now();
  
  function step() {
    const currentTime = performance.now();
    const elapsed = currentTime - startTime;
    const progress = Math.min(elapsed / duration, 1);
    const easing = function(t) { return t * (2 - t); }; // 緩動函數,例如使用二次方函數
    const position = start + distance * easing(progress);
    
    window.scrollTo(0, position);
    
    if (progress < 1) {
      window.requestAnimationFrame(step);
    }
  }
  
  window.requestAnimationFrame(step);
}
  1. 增強版本:添加按鈕元素,并綁定點擊事件:
<button id="scrollToTopBtn">回到頂部</button>
document.getElementById('scrollToTopBtn').addEventListener('click', scrollToTop);

function scrollToTop() {
  window.scrollTo({ top: 0, behavior: 'smooth' });
}

以上是五種常見的回到頁面頂部的實現方法,從最基本的滾動到頂部到增強版帶有平滑滾動效果和按鈕點擊事件的寫法。可以根據具體需求選擇相應的方法來實現回到頁面頂部的功能。

0
达拉特旗| 永寿县| 长治市| 敦化市| 凤山市| 岱山县| 秭归县| 申扎县| 泽库县| 五家渠市| 富顺县| 金昌市| 财经| 建水县| 公安县| 新建县| 富裕县| 垣曲县| 安新县| 沅江市| 邢台县| 丹棱县| 连江县| 称多县| 达拉特旗| 江川县| 中牟县| 沾益县| 花莲市| 成安县| 怀远县| 荣昌县| 武鸣县| 肃南| 长子县| 通州区| 哈尔滨市| 南陵县| 锡林浩特市| 年辖:市辖区| 宁安市|