当前位置: 首页 > news >正文

jquery的height()和javascript的height总结,js获取屏幕高度

jquery的height()和javascript的height总结,js获取屏幕高度

2014年9月18日 15048次浏览

引子

今天是九一八事变八十三周年,大家勿忘国耻!加油学习!经济和技术等各个方面超过小日本!

在javascript和jquery中,都有对各种高度的写法,在这里,我们就着重讲一下窗口、文档等高度的理解。(宽度和高度差不多!)

jquery的各种高度

首先来说一说$(document)和$(window),如下:

$(document).height();//整个网页的高度 $(window).height();//浏览器可视窗口的高度 $(window).scrollTop();//浏览器可视窗口顶端距离网页顶端的高度(垂直偏移)

用一句话理解就是:当网页滚动条拉到最低端时,

$(document).height() == $(window).height() + $(window).scrollTop()。

注意,是拉到最低端!

当网页高度不足浏览器窗口时$(document).height()返回的是$(window).height()

假如您要获取整个网页的高度,不建议用$("html").height()、$("body").height()的高度,

原因:

$("body").height():body可能会有边框,获取的高度会比$(document).height()小; $("html").height():在不同的浏览器上获取的高度的意义会有差异,说白了就是浏览器不兼容。

说道这里,提及边框和margin还有padding,我们自然想到了jquery的另外的两个高度,那就是innerHeight()和outerHeight()

innerHeight()和outerHeight()不适用于window 和 document对象,对于window 和 document对象可以使用.height()代替。innerHeight()和outerHeight()主要用来获取标签的高度。

innerHeight()

enter image description here

innerHeight:高度+补白

outerHeight:高度+补白+边框,参数为true时:高度+补白+边框+边距

innerHeight(value)

这个“value”参数可以是一个字符串(数字加单位)或者是一个数字,如果这个“value”参数只提供一个数字,jQuery会自动加上像素单位(px)。如果只提供一个字符串,任何有效的CSS尺寸都可以为高度赋值(就像100px, 50%, 或者 auto)。注意在现代浏览器中,CSS高度属性不包含padding, border, 或者 margin, 除非box-sizingCSS属性被应用。

jquery高度,放到浏览器中试一下

alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).height()); //浏览器当前窗口文档的高度 alert($(document.body).height()); //浏览器当前窗口文档body的高度 alert($(document.body).outerHeight(true)); //浏览器当前窗口文档body的总高度 包括border padding margin alert($(window).width()); //浏览器当前窗口可视区域宽度 alert($(document).width()); //浏览器当前窗口文档对象宽度 alert($(document.body).width()); //浏览器当前窗口文档body的宽度 alert($(document.body).outerWidth(true)); //浏览器当前窗口文档body的总宽度 包括border padding margin

javascript的各种高度

网页可见区域宽[仅针对body]: document.body.clientWidth 网页可见区域高[仅针对body]: document.body.clientHeight 网页可见区域宽[仅针对body]: document.body.offsetWidth (包括滚动条和边框,若滚动条和边框为0,则和clientWidth相等) 网页可见区域高[仅针对body]: document.body.offsetHeight (包括滚动条和边框,若滚动条和边框为0,则和clientHeight相等) 可视窗口宽度(包括滚动轴宽度):window.innerWidth; //IE9+、Chrome、Firefox、Opera 以及 Safari 可视窗口高度,不包括浏览器顶部工具栏: window.innerHeight;//IE9+、Chrome、Firefox、Opera 以及 Safari 网页正文全文宽(不包括滚动轴的宽度): document.body.scrollWidth 网页正文全文高:document.body.scrollHeight //假如网页中没有滚动轴,document.body.scrollWidth和window.innerWidth相等,document.body.scrollHeight和window.innerHeight相等。 网页被卷去的高: document.body.scrollTop 网页被卷去的左: document.body.scrollLeft 网页正文部分上: window.screenTop 网页正文部分左: window.screenLeft 屏幕分辨率的高(整个屏幕的高度): window.screen.height 屏幕分辨率的宽(整个屏幕的宽度): window.screen.width 屏幕可用工作区高度: window.screen.availHeight 屏幕可用工作区宽度: window.screen.availWidth 整个浏览器可用工作区高度: window.outerHeight 整个浏览器可用工作区宽度: window.outerWidth

结束语

注意,在运用jquery的innerHeight()和outerHeight()的时候,可能会有浏览器的兼容问题,不同浏览器出现不同高度,总之,实践得真知,你可以测试一下,写几个小的demo,总结一下!

看完jquery和javascript的height,不知道您有何感想,这篇文章希望对你有帮助,可以留言相互交流,谢谢!

相关文章:

  • 搭建NPM私服
  • java自动关闭资源
  • Spring+SpringMvc+Mybatis框架集成搭建教程四(项目部署及测试)
  • JS继承之寄生类继承
  • protobuf-c的使用(二)使用
  • 音视频同步(播放)原理
  • AutoCAD 2014 新特性概览
  • jvm实例,tomcat容器,spring容器,在内存中的关系
  • uboot在s3c2440上的移植(4)
  • Xamarin调用谷歌地图以及百度地图api key申请时的SHA1值
  • Js 不支持函数的重载
  • 代理转发工具汇总分析
  • 删除Myeclipse中废弃的workspace记录
  • 立贴为证,一定搞定python
  • 数据量、高并发数据库的高性能、高可用性解决方案
  • download使用浅析
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Java-详解HashMap
  • JDK 6和JDK 7中的substring()方法
  • leetcode386. Lexicographical Numbers
  • Linux中的硬链接与软链接
  • Map集合、散列表、红黑树介绍
  • npx命令介绍
  • RxJS: 简单入门
  • windows-nginx-https-本地配置
  • 闭包,sync使用细节
  • 复杂数据处理
  • 观察者模式实现非直接耦合
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 突破自己的技术思维
  • 一份游戏开发学习路线
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • NLPIR智能语义技术让大数据挖掘更简单
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 翻译 | The Principles of OOD 面向对象设计原则
  • # C++之functional库用法整理
  • #、%和$符号在OGNL表达式中经常出现
  • #Z0458. 树的中心2
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十五)使用Nexus创建Maven私服
  • (转) Face-Resources
  • (转)大型网站的系统架构
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .gitignore文件---让git自动忽略指定文件
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET Framework杂记
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .Net环境下的缓存技术介绍
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • [AIGC 大数据基础]hive浅谈