簡體   English   中英

使用 jquery 獲取滾動位置

[英]Get scroll position using jquery

奇怪的請求,但我需要獲取當前瀏覽器滾動位置作為變量。 我應該使用什么 js 或 jquery 函數? 我需要它來弄清楚要在側面顯示哪些元素。 我在網上找到了一些東西,但對我的 div 沒有任何作用,只有整頁。

跨瀏覽器變體

$(document).scrollTop();

較舊的 IE 和 Firefox 瀏覽器將滾動條附加到documentElement ,或者<html><html>標簽。

所有其他瀏覽器都將滾動條附加到document.body ,或者 HTML 中的<body>標簽。

正確的解決方案是檢查使用哪個,具體取決於瀏覽器

var doc = document.documentElement.clientHeight ? document.documentElement : document.body;
var s   = $(doc).scrollTop();

jQuery 確實讓這更容易一些,當傳入windowdocument jQuery 的scrollTop會做類似的檢查並計算出來,所以這兩個都應該跨瀏覽器工作

var s = $(document).scrollTop();

要么

var s = $(window).scrollTop();

jQuery scrollTop() 文檔

描述:獲取匹配元素集合中第一個元素的滾動條當前垂直位置或為每個匹配元素設置滾動條的垂直位置。


...沒有什么適合我的 div,只有整頁

如果是用於 DIV,則必須以附加滾動條的元素為目標,以獲取滾動量

$('div').scrollTop();

如果您需要從文檔頂部獲取元素距離,您也可以這樣做

$('div').offset().top

我相信 jQuery 最好的方法是使用.scrollTop()

var pos = $('body').scrollTop();

使用scrollTop()獲取或設置滾動位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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