解決判斷滾動條觸底時由於scrollTop是小數造成的問題
阿新 • • 發佈:2021-02-16
技術標籤:JavaScriptCSSVue
專案需求如上圖所示,隨著滾動條滑動,錨點改變自己對應的啟用狀態,當滾動條觸底的時候,啟用狀態為最後一個。
一開始根據常規的做法程式碼如下:
//判斷滾動條觸底的情況
if (scrollTop + clientHeight = scrollHeight) {
// todo
return;
}
始終沒法判斷觸底,除錯得知chrome瀏覽器下scrollTop是小數,而clientHeight和scrollHeight始終是整數這是bug出現的根本原因。
解決方法:"加1解決法"
程式碼如下:
//判斷滾動條觸底的情況
if (scrollTop + clientHeight + 1 >= scrollHeight) {
//todo
return;
}
== 遇到scrollTop的問題其實都可以多一層思考,是否需要+1來相容瀏覽器,解決bug。
至此,問題解決。