如何获取文档的滚动位置值?
yhqotfr81#
以下是如何使用jQuery选择器获取元素的scrollHeight:
scrollHeight
$(selector)[0].scrollHeight
如果selector是元素的id(例如elemId),则保证数组的0索引项将是您希望选择的元素,并且scrollHeight将是正确的。
selector
elemId
oxcyiej72#
$(document).height() //returns window height $(document).scrollTop() //returns scroll position from top of document
wvmv3b1j3#
如果您使用的是Jquery 1.6或更高版本,请使用prop来访问值。
$(document).prop('scrollHeight')
以前的版本使用attr获取值,但不是1.6版。
0pizxfdo4#
document.getElementById("elementID").scrollHeight $("elementID").scrollHeight
hm2xizp95#
它使用HTML DOM元素,但不使用jQuery选择器。它可以像这样使用:
var height = document.body.scrollHeight;
xbp102n06#
类似这样的东西应该可以解决你的问题:
$.getDocHeight = function(){ var D = document; return Math.max(Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight)); }; alert( $.getDocHeight() );
Ps:每次需要时调用该函数,警报是用于测试目的。
fquxozlt7#
为了获得窗口滚动条滚动区域的实际可滚动高度,我使用了$('body').prop('scrollHeight')。这似乎是最简单的工作解决方案,但我没有广泛检查兼容性。Emanuele Del Grande提到了另一个解决方案,这可能不适用于低于8的IE。大多数其他解决方案对于可滚动元素都很好,但这适用于整个窗口。值得注意的是,对于Ankit的解决方案,我遇到了与Michael相同的问题,即$(document).prop('scrollHeight')返回undefined。
$('body').prop('scrollHeight')
undefined
0aydgbwb8#
试试这个:
var scrollHeight = $(scrollable)[0] == document ? document.body.scrollHeight : $(scrollable)[0].scrollHeight;
tzcvj98z9#
您可以尝试这样做,例如,这段代码将滚动条放在所有DIV标记的底部记住:jQuery可以接受函数而不是值作为参数。“this”是jQuery处理的对象,该函数返回当前DIV“this”的scrollHeight属性,并对文档中的所有DIV执行此操作。
$("div").scrollTop(function(){return this.scrollHeight})
9条答案
按热度按时间yhqotfr81#
以下是如何使用jQuery选择器获取元素的
scrollHeight
:如果
selector
是元素的id(例如elemId
),则保证数组的0索引项将是您希望选择的元素,并且scrollHeight
将是正确的。oxcyiej72#
wvmv3b1j3#
如果您使用的是Jquery 1.6或更高版本,请使用prop来访问值。
以前的版本使用attr获取值,但不是1.6版。
0pizxfdo4#
hm2xizp95#
它使用HTML DOM元素,但不使用jQuery选择器。它可以像这样使用:
xbp102n06#
类似这样的东西应该可以解决你的问题:
Ps:每次需要时调用该函数,警报是用于测试目的。
fquxozlt7#
为了获得窗口滚动条滚动区域的实际可滚动高度,我使用了
$('body').prop('scrollHeight')
。这似乎是最简单的工作解决方案,但我没有广泛检查兼容性。Emanuele Del Grande提到了另一个解决方案,这可能不适用于低于8的IE。大多数其他解决方案对于可滚动元素都很好,但这适用于整个窗口。值得注意的是,对于Ankit的解决方案,我遇到了与Michael相同的问题,即
$(document).prop('scrollHeight')
返回undefined
。0aydgbwb8#
试试这个:
tzcvj98z9#
您可以尝试这样做,例如,这段代码将滚动条放在所有DIV标记的底部
记住:jQuery可以接受函数而不是值作为参数。“this”是jQuery处理的对象,该函数返回当前DIV“this”的scrollHeight属性,并对文档中的所有DIV执行此操作。