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

溫馨提示×

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
泰顺县| 上饶县| 甘孜| 门源| 山东省| 丹棱县| 钟祥市| 屏南县| 含山县| 吉木萨尔县| 柞水县| 应城市| 叙永县| 会宁县| 钦州市| 江川县| 新闻| 上杭县| 江门市| 罗甸县| 绥江县| 于田县| 嘉峪关市| 铁岭县| 山西省| 连江县| 赞皇县| 汉沽区| 闻喜县| 思茅市| 临安市| 长春市| 石家庄市| 边坝县| 诸城市| 土默特右旗| 芦溪县| 灵武市| 遂平县| 都兰县| 赞皇县|