亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js控制滾動條滾動的兩種簡單方法

 更新時間:2023年07月10日 15:23:29   作者:前端程序猿i  
這篇文章主要給大家介紹了關(guān)于js控制滾動條滾動的兩種簡單方法,通過JavaScript可以直接控制滾動條的位置,從而達(dá)到鎖定滾動條的效果,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

 方法一

JavaScript 可以通過操作 scrollTop 屬性來控制元素的滾動,以下是一個簡單的示例代碼:

var element = document.getElementById('myElement'); // 獲取需要滾動的元素
element.scrollTop = 100; // 滾動到距離頂部100像素的位置

在上面的示例中,首先通過 document.getElementById 獲取需要滾動的元素,然后設(shè)置 scrollTop 屬性為需要滾動到的位置,即可實現(xiàn)控制滾動條滾動。

如果需要平滑滾動,可以使用 window.requestAnimationFrame 方法來實現(xiàn)動畫效果,示例代碼如下:

var element = document.getElementById('myElement'); // 獲取需要滾動的元素
var targetPosition = 100; // 滾動到距離頂部100像素的位置
var duration = 500; // 滾動動畫的持續(xù)時間(毫秒)
var startTime = null; // 動畫開始時間
 
function scrollTo(timestamp) {
  if (!startTime) startTime = timestamp;
  var progress = timestamp - startTime;
  var position = Math.min(progress / duration * targetPosition, targetPosition);
  element.scrollTop = position;
  if (progress < duration) {
    window.requestAnimationFrame(scrollTo);
  }
}
 
window.requestAnimationFrame(scrollTo); // 開始滾動動畫

在上面的示例中,首先獲取需要滾動的元素和目標(biāo)位置,然后設(shè)置動畫的持續(xù)時間。在 scrollTo 函數(shù)中,通過計算當(dāng)前進(jìn)度和位置,來實現(xiàn)平滑的滾動效果。在滾動動畫未完成時,調(diào)用 window.requestAnimationFrame 方法來繼續(xù)滾動,直到動畫完成為止。

 方法二

 獲取滾動距離

window.addEventListener('scroll', () => {
    scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
  })
const ScrollTop = (number = 0, time) => {
  if (!time) {
    document.body.scrollTop = document.documentElement.scrollTop = number;
    return number;
  }
  const spacingTime = 20; // 設(shè)置循環(huán)的間隔時間  值越小消耗性能越高
  let spacingInex = time / spacingTime; // 計算循環(huán)的次數(shù)
  let nowTop = document.body.scrollTop + document.documentElement.scrollTop; // 獲取當(dāng)前滾動條位置
  let everTop = (number - nowTop) / spacingInex; // 計算每次滑動的距離
  let scrollTimer = setInterval(() => {
    if (spacingInex > 0) {
      spacingInex--;
      ScrollTop(nowTop += everTop);
    } else {
      clearInterval(scrollTimer); // 清除計時器
    }
  }, spacingTime);
}

調(diào)用示例

ScrollTop(scrollTop, 500)

總結(jié)

到此這篇關(guān)于js控制滾動條滾動的兩種簡單方法的文章就介紹到這了,更多相關(guān)js控制滾動條滾動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論