Le mode Quirks et la valeur de retour du mode Standards sont incohérents. Puisque vous il etiquettée comme jQuery, il suffit d'utiliser
$('body').height()
ou $(window).height()
en fonction de ce que vous avez besoin ... il fixe en interne de sorte que vous n'avez pas à taper ceci:
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");
};
});
Lorsque vous utilisez la fonction jquery i Stile obtenir des valeurs différentes. D'autres idées? Dans Quirks $ ('corps'). Width = 1239 $ ('corps'). Height = 184 document.body.clientWidth = 1231 document.body.clientHeight = 176 Dans les normes $ (» body '). width = 1260 $ (' body '). height = 182 document.body.clientWidth = 1254 document.body.clientHeight = 176 –
Pourquoi ne formera-t-il pas :( –