JavaScript中scrollTo()無效問題處理辦法
需求: 實現(xiàn)訪問當前頁面直接滾動到最底部
方案:window對象的scrollTo()方法
API介紹:
參數(shù)接收一個點(文檔坐標),讓該點位于左上角。
可選參數(shù)為behavior(設(shè)置滾動的效果)
錯誤案例:
<!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>云想衣裳花想容,春風拂檻露華濃。 若非群玉山頭見,會向瑤臺月下逢。</span> <script> // 獲取文檔的高度和視口的高度 let docH = document.documentElement.offsetHeight, viewH = window.innerHeight // 滾動到文檔底部 window.scrollTo(0,docH - viewH); </script> </body> </html>
實際效果是并沒有發(fā)生滾動
正確的案例:
<!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>云想衣裳花想容,春風拂檻露華濃。 若非群玉山頭見,會向瑤臺月下逢。</span> <script> // 獲取文檔的高度和視口的高度 let docH = document.documentElement.offsetHeight, viewH = window.innerHeight // 滾動到文檔底部 setTimeout(()=>{ window.scrollTo(0,docH - viewH); }) </script> </body> </html>
問題分析記錄:
直接調(diào)用window.scrollTo方法,然后打斷點,你會發(fā)現(xiàn)已經(jīng)滾動了
但是當結(jié)束斷點,又回到了原來的位置
于是猜想著讓該方法異步調(diào)用,發(fā)現(xiàn)成功了
總結(jié)
到此這篇關(guān)于JavaScript中scrollTo()無效問題處理辦法的文章就介紹到這了,更多相關(guān)js scrollTo()無效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對 lightbox JS 圖片控件進行了一下改造, 使其他支持復雜的圖片說明
如果要為圖片添加詳細的圖片說明,并為圖片的說明設(shè)置一些格式,如字體的大小、顏色等,那么使用 title 這個屬性來設(shè)置這些說明信息是沒辦法實現(xiàn)的。2010-03-03除Console.log()外更多的Javascript調(diào)試命令
本篇文章給大家介紹了除Console.log()外更多的Javascript調(diào)試命令,方便大家更多環(huán)境下的JS調(diào)試,學習下吧。2018-01-01javascript 將共享屬性遷移到原型中去的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨avascript 將共享屬性遷移到原型中去的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08