JavaScript中scrollTo()無效問題處理辦法
需求: 實(shí)現(xiàn)訪問當(dāng)前頁面直接滾動(dòng)到最底部
方案:window對(duì)象的scrollTo()方法
API介紹:
參數(shù)接收一個(gè)點(diǎn)(文檔坐標(biāo)),讓該點(diǎn)位于左上角。
可選參數(shù)為behavior(設(shè)置滾動(dòng)的效果)
錯(cuò)誤案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
background-color: aquamarine;
width: 200px;
height: 2000px;
}
</style>
</head>
<body>
<div>nixx</div>
<span>云想衣裳花想容,春風(fēng)拂檻露華濃。
若非群玉山頭見,會(huì)向瑤臺(tái)月下逢。</span>
<script>
// 獲取文檔的高度和視口的高度
let docH = document.documentElement.offsetHeight,
viewH = window.innerHeight
// 滾動(dòng)到文檔底部
window.scrollTo(0,docH - viewH);
</script>
</body>
</html>
實(shí)際效果是并沒有發(fā)生滾動(dòng)

正確的案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
background-color: aquamarine;
width: 200px;
height: 2000px;
}
</style>
</head>
<body>
<div>nixx</div>
<span>云想衣裳花想容,春風(fēng)拂檻露華濃。
若非群玉山頭見,會(huì)向瑤臺(tái)月下逢。</span>
<script>
// 獲取文檔的高度和視口的高度
let docH = document.documentElement.offsetHeight,
viewH = window.innerHeight
// 滾動(dòng)到文檔底部
setTimeout(()=>{
window.scrollTo(0,docH - viewH);
})
</script>
</body>
</html>

問題分析記錄:

直接調(diào)用window.scrollTo方法,然后打斷點(diǎn),你會(huì)發(fā)現(xiàn)已經(jīng)滾動(dòng)了

但是當(dāng)結(jié)束斷點(diǎn),又回到了原來的位置
于是猜想著讓該方法異步調(diào)用,發(fā)現(xiàn)成功了
總結(jié)
到此這篇關(guān)于JavaScript中scrollTo()無效問題處理辦法的文章就介紹到這了,更多相關(guān)js scrollTo()無效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
將rmb數(shù)字位錢數(shù)轉(zhuǎn)化為中文錢數(shù)的js函數(shù)
用力將用戶輸入的錢數(shù),中文化輸出的函數(shù)代碼,需要的朋友可以參考下。2010-07-07
JWT+Passport.js身份驗(yàn)證實(shí)現(xiàn)完整步驟
Passport.js是一個(gè)輕量級(jí)的身份驗(yàn)證中間件,廣泛用于Node.js應(yīng)用程序中,它簡化了用戶認(rèn)證過程,支持多種策略,這篇文章主要介紹了JWT+Passport.js身份驗(yàn)證實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2025-09-09
JavaScript用二分法查找數(shù)據(jù)的實(shí)例代碼
本篇文章主要介紹了JavaScript用二分法查找數(shù)據(jù)的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
JavaScript 短路運(yùn)算的實(shí)現(xiàn)
本文主要介紹了JavaScript 短路運(yùn)算的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
用最通俗易懂的代碼幫助新手理解javascript閉包 推薦
我同樣也是個(gè)javascript新手,怎么說呢,先學(xué)的jquery,精通之后發(fā)現(xiàn)了javascript的重要性,再回過頭來學(xué)javascript面向?qū)ο缶幊?/div> 2012-03-03
javascript 局部頁面打印實(shí)現(xiàn)代碼
Web打印有很多方式,水晶報(bào)表使用的恐怕比較多,但這東西是收費(fèi)軟件,老板說不能用:(。2009-08-08最新評(píng)論

