图解JQUERY尺寸及位置定义

最近在学习JQUERY的一些应用,接触到了JQUERY对于元素尺寸及位置定义,还有就是配合浏览器尺 寸及状态的计算所做出的一些动画特效。其实像这类JQUERY应用无外乎涉及这些属性的调用:innerHeight()、innerWidth()、 outerHeight()、outerHeight(true)、outerHeight(false)、outerWidth(true)、 outerWidth(false)、position()、offset()、scrollTop()、scrollLeft()。
单独看每条解释,基本上都能给人很清晰明了的感觉。但是在应用的时候总会引起混淆,特别是position()与offset()。起初也被这些参数绕的脑袋昏昏涨涨的。
感觉在做动画的时候,这些参数特别有用,但一时又搞不太清楚各个参数的细微差别。于是今天就花了半天的时间,对着API仔细分析,自己再动手验证一下自己的想法,拿着一支笔在纸上画来画去,确认无误后,做出了这么两幅图稿。以供以后参考之用。
JQUERY对尺寸的定义
对于尺寸的定义其实很好理解,只是使用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()就是相同的了,但我们在写代码的时候应该很清楚的知道该用哪一个,以避免后期维护时所带来的不便。
图例里只写了高度的解释,宽度与高度的解读方式一致,你可以自己去理解。

当然,上面这些仅仅是剧中人对JQUERY位置与尺寸的一点理解,可能有不准确或错误的的地方,为了避免误人子弟,欢迎您与小剧分享你的想法。
图解JQUERY尺寸及位置定义的更多相关文章
- 深入学习jQuery元素尺寸和位置操作
× 目录 [1]尺寸设置 [2]位置设置 前面的话 对于javascript来说,元素尺寸有scroll.offset.client三大属性,以及一个强大的getBoundingClientRect( ...
- 实现文字自动横移--- jquery尺寸相关函数
效果图: 一实现文字自动横移 <style type="text/css"> #demo {overflow:scroll;width:740px; } #indemo ...
- web前端开发中常用的尺寸和位置
我们在日常web前端开发过程中,会经常用到各种尺寸和位置.通常是js做动画的时候.轮播图,滚屏动画,粒子,碰撞检测,拖拽,滚动加载等等.这里我将常用的尺寸和位置的获取进行总结,不包括canvas,SV ...
- 详细图解jQuery对象,以及如何扩展jQuery插件
详细图解jQuery对象,以及如何扩展jQuery插件 早几年学习前端,大家都非常热衷于研究jQuery源码.我还记得当初从jQuery源码中学到一星半点应用技巧的时候常会有一种发自内心的惊叹,“原来 ...
- 【Unity3D NGUI】----UI尺寸和位置的调整
1 尺寸与位置 通过UIWidget类获取,该类是所有UI元素的基类 在unity中创建一个sprite,如下图所示 这里面这个sprite的大小受几个属性的影响,首先是属性面板里的Size,对应的U ...
- jQuery 基础(4)jQuery 尺寸
jQuery 尺寸方法jQuery 提供多个处理尺寸的重要方法:width()height()innerWidth()innerHeight()outerWidth()outerHeight()jQu ...
- jQuery 尺寸
通过 jQuery,很容易处理元素和浏览器窗口的尺寸. jQuery 尺寸 方法 jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHe ...
- Javascript Jquery 中的数组定义与操作_子木玲_新浪博客
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- 关于jquery尺寸的总结
以前总是对jquery的尺寸稀里糊涂,有需要的可以看下下面的代码: ①页面布局如下: <!doctype html> <html> <head> <meta ...
随机推荐
- P1378 油滴扩展
题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完毕才能放置下一个油滴. ...
- 预防onion比特币勒索病毒,如何快速关闭135,137,138,139,445端口
预防onion比特币勒索病毒,如何快速关闭135,137,138,139,445等端口 如果这种网络端口关闭方法行不通,可以尝试一种新的关闭网络端口方法(比较繁琐)见106楼,补丁安装教程见126 ...
- Aurora Player 开源啦~~~
上一年做了很久的项目,是一个完整版的视频播放器,强大.美观!!! 现在转投UWP了,决定开源这个项目. 在你下载本项目之前,请仔细阅读每一行字,以免以后引起不必要的法律纠纷. 本项目最终解释权归本人所 ...
- scapy安装及SCTP包分析
关于Scapy scapy是一个强大的交互式数据包处理程序(使用python编写).它能够伪造或者解码大量的网络协议数据包,能够发送.捕捉.匹配请求和回复包等.它可以很容易地处理一些典型操作,比如端口 ...
- CDH集群搭建部署
1. 硬件准备 使用了五台机器,其中两台8c16g,三台4c8g.一台4c8g用于搭建cmServer和NFS服务端,另外4台作为cloudera-manager agent部署CDH集群. ...
- C# DateDateTimePicker设置属性ShowCheckBox为True
DateDateTimePicker的属性ShowCheckBox为True后,可以使用时间控件的复选框. 但是如果,你想设置CheckBox的选中状态为False的话,那么请注意赋时间值和赋状态值的 ...
- java学习笔记—集合之Map集合
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 12.0px Times } p.p2 { margin: 0.0p ...
- linux mysql定时备份
项目需要定时备份数据库,以下是自己的操作笔记 1.检查磁盘空间 # df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 3.6 ...
- android应用集成google登录
集成google登录之前需要有一下三点要求,只有具备一下两点要求才能集成google登录: 1,android 运行版本4.0及更新版本 2,android 设 ...
- Codeforces Round #257 (Div. 2) A. Jzzhu and Children(简单题)
题目链接:http://codeforces.com/problemset/problem/450/A ------------------------------------------------ ...