gpt4 book ai didi

javascript - clientHeight 根据 IE8 所处的模式返回不同的值

转载 作者:行者123 更新时间:2023-11-30 07:29:22 26 4
gpt4 key购买 nike

在 javascript 函数中,我使用 document.body.clientHeight 来获取正文的高度。现在,根据 IE8 所处的模式(即怪癖或标准),该值会有所不同。

例子奇怪的是,document.body.clientHeight = 800px在标准中,document.body.clientHeight = 650px

希望我说得有道理。

请帮忙。

最佳答案

Quirks 模式和Standards 模式的返回值不一致。由于您将其标记为 jQuery,因此只需使用

$('body').height()$(window).height() 取决于你需要什么......它在内部修复它所以你不必输入:

jQuery.each([ "Height", "Width" ], function( i, name ) {

var type = name.toLowerCase();

// innerHeight and innerWidth
jQuery.fn["inner" + name] = function() {
return this[0] ?
jQuery.css( this[0], type, false, "padding" ) :
null;
};

// outerHeight and outerWidth
jQuery.fn["outer" + name] = function( margin ) {
return this[0] ?
jQuery.css( this[0], type, false, margin ? "margin" : "border" ) :
null;
};

jQuery.fn[ type ] = function( size ) {
// Get window width or height
var elem = this[0];
if ( !elem ) {
return size == null ? null : this;
}

if ( jQuery.isFunction( size ) ) {
return this.each(function( i ) {
var self = jQuery( this );
self[ type ]( size.call( this, i, self[ type ]() ) );
});
}

return ("scrollTo" in elem && elem.document) ? // does it walk and quack like a window?
// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] ||
elem.document.body[ "client" + name ] :

// Get document width or height
(elem.nodeType === 9) ? // is it a document
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
Math.max(
elem.documentElement["client" + name],
elem.body["scroll" + name], elem.documentElement["scroll" + name],
elem.body["offset" + name], elem.documentElement["offset" + name]
) :

// Get or set width or height on the element
size === undefined ?
// Get width or height on the element
jQuery.css( elem, type ) :

// Set the width or height on the element (default to pixels if value is unitless)
this.css( type, typeof size === "string" ? size : size + "px" );
};

});

关于javascript - clientHeight 根据 IE8 所处的模式返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3282679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com