如何确定scrollHeight?
回答 4
浏览 22.2万
2011-09-11
如何使用css overflow:auto来确定一个分部的滚动高度?
我已经试过了。
$('test').scrollHeight();
$('test').height(); but that just returns the size of the div not all the content
最终,我试图创建一个聊天,并始终让滚动条显示在屏幕上的当前消息。
因此,我在想类似于以下的问题。
var test = $('test').height();
$('test').scrollTop(test);
谢谢你。
布莱恩
使用scrollHeight()有什么不对吗?
- Badr Hari 2011-09-11
@BadrHari: 在jQuery中没有
scrollHeight()
函数。
- T.J. Crowder 2015-02-20
它是$('test').get(0).scrollHeight()。
- JFouad 2016-08-11
4 个回答
#1楼
得票数 352
在jQuery中正确的方法是 -
$('#test').prop('scrollHeight')
或$('#test')[0].scrollHeight
或$('#test').get(0).scrollHeight
+1为$('#test')[0].scrollHeight,考虑到提问者已经使用了jQuery。
- Jackson 2013-08-10
这应该是公认的答案,因为它回答了这个问题。
- invot 2016-02-19
它应该是被接受的答案。注意,
prop
方法需要1.6或更大的jquery版本。来自我的+1
- user7739271 2017-07-25
注意,这只返回 "第一个 "发现的元素的滚动高度,如果有任何元素目前是 "隐藏 "的,你可能会得到一个零,即使其他元素确实有一个正的滚动高度,FWIW :)
- rogerdpack 2017-10-21
我更喜欢
$('#test').prop('scrollHeight')
,其他两个在元素不存在的情况下,会出现TypeError。
- kapoko 2021-10-25
#2楼
已采纳
得票数 102
scrollHeight
是一个常规的 javascript 属性,所以你不需要 jQuery。
var test = document.getElementById("foo").scrollHeight;
谢谢!这对我有用: var height = document.getElementById("chatLog").scrollHeight - $('#chatLog').height(); $('#chatLog').scrollTop(height)。
- Brian 2011-09-11
浏览器支持情况如何?所有主要版本的浏览器都支持吗?IE8以上吗?
- SexyBeast 2014-01-21
@Cupidvogel 链接的MDN页面上写着IE8+。
- Dennis 2014-01-22
要获得完整的文件高度。
document.querySelector("body").scrollHeight;
- Rehmat 2022-06-12
#3楼
得票数 2
你也可以使用。
$('#test').context.scrollHeight
prop('scrollHeight')
工作,但context.scrollHeight
没有:"消息。未发现的类型错误。无法读取未定义的属性'scrollHeight'"
- Still.Tony 2021-04-15
#4楼
得票数 1
你可以尝试这样做
$('body')[0].scrollHeight