簡體   English   中英

含義$(window).scrollTop()== $(document).height() - $(window).height()

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM