久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:8日期:2022-06-13 11:46:17
目錄 方法一 方法二總結(jié) 方法一

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)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
主站蜘蛛池模板: 贡嘎县| 比如县| 德格县| 玉屏| 海丰县| 南宁市| 永仁县| 应用必备| 伊宁市| 台东市| 沾化县| 闽清县| 福海县| 十堰市| 涿州市| 镇平县| 离岛区| 岳池县| 闻喜县| 台中市| 莱阳市| 鹤山市| 玛多县| 文水县| 古丈县| 水富县| 永宁县| 襄垣县| 天镇县| 盐城市| 庆安县| 鹰潭市| 南召县| 莒南县| 大丰市| 莎车县| 永嘉县| 皋兰县| 新密市| 吴桥县| 洛川县|