图解JQUERY尺寸及位置定义

JQUERY对尺寸的定义

JQUERY对于元素尺寸及位置定义,还有就是配合浏览器尺寸及状态的计算所做出的一些动画特效。其实像这类JQUERY应用无外乎涉及这些属性的调用:innerHeight()、innerWidth()、outerHeight()、outerHeight(true)、outerHeight(false)、outerWidth(true)、outerWidth(false)、position()、offset()、scrollTop()、scrollLeft()。

对于尺寸的定义其实很好理解,只是使用outerHeight()、outerWidth()的参数时容易搞混淆,特别是很容易把默认值false记成true。

下面以高度为例写一下各个尺寸的计算方法,宽度计算方法与之一致。

innerHeight()=【padding-top】+【height】+【padding-bottom】
outerHeight()=outerHeight(false)=【border-top-width】+【padding-top】+【height】+【padding-bottom】+【border-bottom-width】
outerHeight(true)=【margin-top】+【border-top-width】+【padding-top】+【height】+【padding-bottom】+【border-bottom-width】+【margin-bottom】

JQUERY对位置的定义

这里小剧用一种假想电脑屏幕可以向上延伸的思想来解释JQUERY对位置的定义。对于很多初学者很难理解$(document).scrollTop(),相信小剧用这张图来解释滚动高度,很多人一眼就能看明白这个高度究竟指的是哪一段长度。其实srcollTop()并不仅限于浏览器的滚动条,任何自身设置了固定高度,并且overflow的值为hidden的元素,都可以使用此属性。

对于position()和offset(),唯一的区别就是offset()针对的是元素相对于浏览器的偏移,而position()针对的是元素相对有定位的父级元素的偏移。说简单了就是相对设置了position为relative或absolute的父级,然而很多情况是并没有任何父级元素设置了定位,此时position()和offset()就是相同的了,但我们在写代码的时候应该很清楚的知道该用哪一个,以避免后期维护时所带来的不便。

图例里只写了高度的解释,宽度与高度的解读方式一致,你可以自己去理解。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。