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 相关文章推荐
js 操作select相关方法函数
Dec 06 Javascript
setTimeout自动触发一个js的方法
Jan 15 Javascript
JavaScript日期时间格式化函数分享
May 05 Javascript
JavaScript实现斗地主游戏的思路
Feb 29 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
Jun 02 Javascript
用原生JS实现简单的多选框功能
Jun 12 Javascript
axios简单实现小程序延时loading指示
Jul 30 Javascript
详解搭建es6+devServer简单开发环境
Sep 25 Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 Javascript
如何在项目中使用log4.js的方法步骤
Jul 16 Javascript
VUEX 数据持久化,刷新后重新获取的例子
Nov 12 Javascript
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
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
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
PHP aes (ecb)解密后乱码问题
2015/06/22 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
Yii2 输出xml格式数据的方法
2016/05/03 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
js left,right,mid函数
2008/06/10 Javascript
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
解析Vue.js中的组件
2018/02/02 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
python使用str &amp; repr转换字符串
2016/10/13 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
python序列类型种类详解
2020/02/26 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
物业管理求职自荐信
2013/09/25 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android