jQuery(window).height()代表了当前可见区域的大小,而jQuery(document).height()则代表了整个文档的高度,可视具体情况使用.
注意当浏览器窗口大小改变时(如最大化或拉大窗口后) jQuery(window).height() 随之改变,但是jQuery(document).height()是不变的。
以下为获取高度或宽度函数的jQuery源代码
// 创建jQuery.height(size) jQuery.width(size)
//调用each方法创建两个相似的函数
jQuery.each([ "Height", "Width" ], function( i, name ) {
var type = name.toLowerCase();
jQuery.fn[ type ] = function( size ) {
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 ]() ) );
});
}
// 获取window对象的高度或宽度 ($(window).width() ) 实际上是当前可见区域的高度或宽度
if ( jQuery.isWindow( elem ) ) {
// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
// 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat
// 以上英文的意思是依赖于Quirks 或 Standards 文档模式来使用
// document.documentElement (实际上就是<html/>元素) 或 document.body
var docElemProp = elem.document.documentElement[ "client" + name ];
return elem.document.compatMode === "CSS1Compat" && docElemProp ||
elem.document.body[ "client" + name ] || docElemProp;
// 获取整个文档对象(document)的宽度或高度
} else if ( elem.nodeType === 9 ) {
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
return Math.max(
elem.documentElement["client" + name],
elem.body["scroll" + name], elem.documentElement["scroll" + name],
elem.body["offset" + name], elem.documentElement["offset" + name]
);
// 获取DOM元素的高度或宽度
} else if ( size === undefined ) {
var orig = jQuery.css( elem, type ),
ret = parseFloat( orig );
return jQuery.isNaN( ret ) ? orig : ret;
// 设置DOM元素的高度或宽度 (当没有单位时默认为像素值)
} else {
return this.css( type, typeof size === "string" ? size : size + "px" );
}
};
});
分享到:
相关推荐
为了获取iframe中的DOM元素,我们可以通过jQuery来实现这一目标。在具体的实现过程中,需要注意iframe中的内容必须和主页面出于同一个域中,否则会受到浏览器同源策略的限制,无法获取到其中的DOM元素。这是因为...
本文将详细讲解如何使用jQuery获取屏幕的高度和宽度,这对于创建响应式网页设计或者根据屏幕尺寸调整元素布局至关重要。 首先,我们需要了解什么是屏幕高度和宽度。屏幕高度是指浏览器窗口可视区域的垂直尺寸,而...
使用JavaScript原生方式通常涉及到对iframe元素的高度和宽度属性的实时控制,以适应内容的动态变化。而使用jQuery库则可以简化这一过程,利用其封装好的函数来轻松实现相同的功能。 具体而言,通过JavaScript原生...
`jquery.DOMWindow`提供了丰富的选项和回调函数,以适应各种复杂的场景。 文件列表中的`popdiv`可能是弹出层示例的HTML部分,可能包含了弹出层的结构和内容。你可以将这个文件与上述JavaScript代码结合,以在本地...
在网页开发中,有时我们需要获取用户的屏幕或者浏览器窗口的高度和宽度来实现自适应布局或者特定的交互效果。jQuery提供了一套简洁的API来帮助我们轻松地获取这些信息。以下是对标题"JQuery获取当前屏幕的高度宽度的...
在本文中,我们将深入探讨jQuery库中用于获取元素宽度和高度的方法,并结合自定义的`format`函数,来展示如何优雅地格式化和输出这些值。`jQuery`提供了一组强大的API,允许开发者轻松地获取DOM元素的各种尺寸,包括...
在网页设计中,实现页面元素的高度自动适应是一个常见的需求,特别是在响应式布局和多设备兼容性上。"jQuery 设置 height 页面自动适应高度布局效果代码"这个主题,就是关于如何使用 jQuery 这个强大的 JavaScript ...
`jQuery(document).ready()`函数是jQuery中的一个重要概念,它确保了在执行任何JavaScript代码之前,DOM已经完全加载和解析完成。这个特性使得开发者可以在不担心元素未定义的情况下操作DOM。以下是几种常见的表示...
使用 jQuery 创建 DOM 元素非常简单,但需要注意一些重要的事项,例如使用 `$(function(){})` 语法和选择正确的 jQuery 版本。通过掌握这些知识,开发者可以更好地使用 jQuery 来操作 DOM 元素。
这个函数特别有用,例如,在处理文档滚动时,可以动态地获取页面的高度和宽度,以便更精确地处理元素定位或动画。 获取页面尺寸和滚动位置的代码示例如下: ```javascript function getPageSize() { var xScroll,...
构造函数接受两个参数 `a` 和 `c`,它们分别代表选择器或 DOM 元素以及可选的上下文元素。构造函数内部包含了多种逻辑分支来处理不同类型的输入,并最终返回一个 jQuery 对象实例。 #### 三、构造函数分析 接下来...
在JavaScript部分,jQuery提供了一系列的方法来获取和改变元素的属性,如宽度和高度。当窗口大小发生变化时,通过`$(window).resize()`函数监听窗口大小的变化,并根据新的窗口宽度调整相册的布局。同时,`$...
jQuery是一个广泛使用的JavaScript库,它提供了丰富的API和方法,使得处理DOM元素、事件绑定以及动画效果变得简单易行。在这个场景下,我们可以通过jQuery来动态调整图片的宽度,使其不超过容器的最大宽度,从而保持...
在jQuery中,我们通常使用$(window).resize()函数监听窗口大小的变化,然后通过CSS或者JavaScript动态计算并设置元素的宽度和高度,确保元素始终占据适当的空间。例如: ```javascript $(window).resize(function()...
在这两个示例中,我们首先创建了一个临时的`<img>`元素,然后设置其`src`属性,最后在图片加载完成后,通过`load`事件回调函数获取到图片的真实宽度和高度。根据这些信息,我们可以决定图片在页面上的展示方式。 ##...
通常使用 document.querySelectorAll 来获取一组 DOM 元素,然后将这些元素作为数组存储在 jQuery 对象中,同时设置 jQuery 对象的 length 属性。在实现链式调用时,如果涉及到只能对单个 DOM 对象操作的方法(如 ...
DOMWindow是一款基于jQuery的弹出层插件,它通过简洁的API和丰富的配置选项,为开发者提供了构建各种弹出层效果的能力。本文将深入探讨DOMWindow的原理、功能特性以及实际应用案例。 首先,DOMWindow的核心是jQuery...
- 通过 `$(window).width()` 和 `$(window).height()` 可以获取浏览器窗口的宽度和高度,这在响应式设计中非常有用。 2. **事件处理**: - jQuery 提供了一套优雅的事件处理机制。例如,`$(window).on('load', ...
每种类型的处理方式确保了jQuery对象能够灵活地适应不同的应用场景,并能够正确地获取或创建DOM元素。 #### 五、`jQuery.extend`与`jQuery.fn.extend` `jQuery.extend`和`jQuery.fn.extend`是用于扩展jQuery对象...