问题:如何以编程方式确定“折叠”(浏览器显示的垂直内容有多少)?
“折叠”定义为您无法再看到/必须滚动的位置。
我尝试使用JavaScript来确定浏览器窗口大小以确定折叠;不幸的是 - 这不好用,因为有些浏览器有标签等,即使你有两个相同大小的浏览器窗口 - 每个浏览器可能显示不同的垂直大小的内容。
答案 0 :(得分:7)
window.innerHeight
是当前可见的高度
document.height
是网页的总高度。
“折叠”定义为您无法再看到/必须滚动的位置。
var fold = document.height - window.innerHeight;
修改:For IE developers。谢谢古德曼
答案 1 :(得分:3)
以跨浏览器兼容的方式确定窗口的高度与文档的高度有点复杂。 。 。不幸的是Internet Explorer does not support window.innerHeight
。 。 。您可以使用document.body.clientHeight
和document.documentElement.clientHeight
,但which one means what depends on the browser and version。
从上面链接的后一个站点,这里有一个跨浏览器兼容的方法来获得window.innerWidth和window.innerHeight的等价物:
function alertSize() {
var myWidth = 0, myHeight = 0;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
window.alert( 'Width = ' + myWidth );
window.alert( 'Height = ' + myHeight );
}