jQuery height()、innerHeight()、outerHeight()函数的区别详解


Posted in Javascript onMay 23, 2016

在jQuery中,获取元素高度的函数有3个,它们分别是height()、 innerHeight()、 outerHeight()。

与此相对应的是,获取元素宽度的函数也有3个,它们分别是width()、 innerWidth()、 outerWidth()。

在这里,我们以height()、innerHeight()、outerHeight()3个函数为例,来详细介绍它们之间的区别。

下面我们以元素element的盒模型为例来介绍它们之间的区别。

jQuery height()、innerHeight()、outerHeight()函数的区别详解

函数 高度范围 jQuery版本 支持写操作
height() height 1.0+ 1.0+
innerHeight() height + padding 1.2.6+ 1.8.0+
outerHeight() height + padding + border 1.2.6+
outerHeight(true) height+padding+border+margin 1.2.6+

1、 只有height()函数可用于window或document对象。
2、 "支持写操作"表示该函数可以为元素设置高度值。
3、 1.4.1+ height()新增支持参数为函数(之前只支持数值)。
4、 1.8.0+ innerHeight()支持参数为数值或函数。

现在,我们参考以下HTML + jQuery示例代码:

<div id="element" style="margin:5px; padding:10px; width:100px; height:100px; border:1px solid #000;"></div>
<script type="text/javascript">
var $ele = $("#element");

// height() = height(100) = 100
document.writeln( $ele.height() ); // 100

// innerHeight() = height(100) + padding(10*2)= 120 
document.writeln( $ele.innerHeight() ); // 120

// outerHeight() = height(100) + padding(10*2) + border(1*2) = 122 
document.writeln( $ele.outerHeight() ); // 122

// outerHeight(true) = height(100) + padding(10*2) + border(1*2) + margin(5*2) = 132 
document.writeln( $ele.outerHeight(true) ); // 132
</script>

测试的时候记得机上jquery地址。

Javascript 相关文章推荐
jQuery AnythingSlider滑动效果插件
Feb 07 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
Apr 01 Javascript
jQuery菜单插件superfish使用指南
Apr 21 Javascript
JavaScript中的this关键字使用详解
Aug 14 Javascript
javascript实现对表格元素进行排序操作
Nov 18 Javascript
JavaScript隐式类型转换
Mar 15 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
Jul 11 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
Jan 10 Javascript
JavaScript实现的拼图算法分析
Feb 13 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 #Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 #Javascript
谈一谈bootstrap响应式布局
May 23 #Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
May 23 #Javascript
JavaScript的Vue.js库入门学习教程
May 23 #Javascript
详解JavaScript中|单竖杠运算符的使用方法
May 23 #Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
May 23 #Javascript
You might like
社区(php&amp;&amp;mysql)三
2006/10/09 PHP
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
Vue 实现拨打电话操作
2020/11/16 Javascript
Python读写文件方法总结
2015/06/09 Python
Python表示矩阵的方法分析
2017/05/26 Python
快速了解Python中的装饰器
2018/01/11 Python
zookeeper python接口实例详解
2018/01/18 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
keras打印loss对权重的导数方式
2020/06/10 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
软件测试常见笔试题
2012/02/04 面试题
2014年个人思想工作总结
2014/11/27 职场文书
2014企业年终工作总结
2014/12/23 职场文书