![](/img/trans.png)
[英]if ($(window).scrollTop() == $(document).height() - $(window).height() - 300) Why this not work?
[英]Meaning of $(window).scrollTop() == $(document).height() - $(window).height()
以下代碼用於檢測用戶是否已滾動到頁面底部並且它是否有效。
if($(window).scrollTop() == $(document).height() - $(window).height()){
//do something
}
問題:
我不明白為什么你從文檔的高度減去窗口的高度,然后將其與滾動高度進行比較,以確定是否已到達頁面的底部。 為什么不簡單呢
if($(window).scrollTop() == $(document).height()){
//do something
}
要么
if($(window).scrollTop() == $(window).height()){
//do something
}
這是因為$(window).scrollTop()
返回頁面頂部的位置, $(document).height()
返回頁面底部的位置。 因此,您需要減去窗口的高度以獲得要比較的位置,因為如果您完全滾動到底部,這將為您提供頁面頂部的位置。
$(window).scrollTop()
是窗口頂部相對於文檔的位置。 在我正在查看的頁面上,如果我滾動到最底部,則為1385
。 $(document).height()
是整個頁面的高度( 1991
代表我)。 $(window).height()是窗口(視口)的高度(對我來說是606
)。 這意味着視口頂部的位置加上窗口的高度是視口底部的位置。 1385 + 606 = 1991
。
scrollTop
值永遠不會高於文檔高度值。 這意味着您滾動瀏覽文檔,使其全部在窗口之外。
將scrollTop
與窗口高度進行比較只會意味着您向下滾動了一個屏幕,而不是向文檔的底部滾動。
從文檔高度減去窗口高度可以得到scrollTop
所在的值,此時窗口底部位於文檔的底部。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.