千家信息网

JS/jQ常用宽高及应用

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,关于js的宽高,随便一搜就是一大堆。这个一大堆对我来说可不是什么好事,看的头都大了。所以今天就总结了一些比较会常用的,并说明一下应用场景。先来扯一下documentElement和body的微妙关系:
千家信息网最后更新 2025年12月02日JS/jQ常用宽高及应用

关于js的宽高,随便一搜就是一大堆。这个一大堆对我来说可不是什么好事,看的头都大了。所以今天就总结了一些比较会常用的,并说明一下应用场景。

先来扯一下documentElement和body的微妙关系:

documentElement===html ----->> documentElement.childNode[2]===body 【很明显,父子关系呗】

如果中没声明html,则拿不到documentElement这个值,但此时body==documentElement,这才有了下面的兼容写法.

ps:以下内容就只谈论height,width同理嘛。

js的宽高及应用:

可视区尺寸(.clientHeight):

对document:可视区height = 整个浏览器的高 - 工具栏部分height.

兼容写法:document.documentElement.clientHeight||document.documentElement.clientHeight.

对div:可视区height = height + padding.

写法:divObj.clientHeight.

滚动距离(.scrollTop):

对document:可视区顶部到网页顶部,即网页被卷上去的部分.

获取兼容写法:document.body.scrollTop || document.documentElement.scrollTop.

设置兼容写法:document.body.scrollTop = document.documentElement.scrollTop=...

对div:div被卷上去的部分.

获取写法:divObj.scrollTop.

设置写法:divObj.scrollTop=...

.scrollHeight:

对document: document.body.scrollHeight被视为整个网页的高。【网页内容大于clientHeight时】

获取写法:document.body.scrollHeight.

对div:没有滚动条时,scrollHeight与clientHeight属性结果相等,scrollWidth与clientWidth属性结果相等;

存在滚动条,即存在内容溢出的情况时,scroll属性大于client属性,divObj.scrollHeight包括被隐藏部分。scrollHeight可用于获取div的wholeHeight以实现滚动到底部加载。

【注意】scrollHeight属性存在兼容性问题,chrome和safari浏览器中,scrollHeight包含padding-bottom;而IE和firefox不包含padding-bottom.

.offsetHeight:

对document:

IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。 NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。

对div:

divObj.offsetHeight=height+padding+border.

安利一个好东西:

.getBoundingClientRect().top/right/bottom/left; //div的各边距可视区的距离.

可视区加载:

1 function showDiv(){2    var showId=document.getElementById("showDiv");3    var clients=window.innerHeight||document.documentElement.clientHeigh||document.body.clientHeigh;4    var divTop=showId.getBoundingClientRect().top;     //判断是否出现在可视区了5    if(divTop<=clients){6       showId.classList.add('fadeInLeft');//一个带有动画的类7    }8 }

jQ的宽高及应用:

width() | height():可读写。(length) | function(index,oldWidth){ }

innerWidth() | innerHeight():可读写。(length) | function(index,oldWidth){ }

outerWidth(Boolean) | outerHeight(Boolean):为true时包括margin,false时不包括margin.

.scrollTop() | .scrollLeft:被卷走的宽高。

.offset().top/left :相对于document.

.position().top/left :相对于offsetParent.

常用的属性:

$(window).height();--可视区高

$(window).scrollTop();--滚上去的部分

$(document).height();--整个文档的高

滚动到底部:

$(window).scroll(function(){ var scrollTop = $(this).scrollTop();    //滚动条距离顶部的高度 var scrollHeight = $(document).height();   //当前页面的总高度 var clientHeight = $(this).height();    //当前可视的页面高度  if(scrollTop + clientHeight >= scrollHeight){   //滑动到底部 count++;         //每次滑动count加1    alert("滚动底部了"); }});


写法 视区 属性 网页 部分 内容 高度 应用 顶部 常用 大堆 浏览器 结果 页面 卷上 浏览 微妙 明显 可不 可不是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 erp系统需要服务器 网络安全与网络结构设计 网络安全在我心主持稿 小红书提示未连接服务器 玩家服务器上突然惊现红色的龙 瑞友连接服务器的配置信息不正确 生存服务器地址1.16.4 党员思想汇报网络安全 玩转校园网络技术有限公司 做一个数据库系统数据从哪里找 济南有实力的浪潮存储服务器价格 公考计算机网络技术类专业 平板无法访问私人dns服务器 网络技术专业自荐 雕塑设计软件开发 软件开发在线报价 设数据库中有学生表 杭州采购管理系统一站式软件开发 复兴区网络安全和信息化委员会 网络安全这四个字的艺术字 视频服务器 带宽要求 给数据库增加列 内蒙古智慧人口系统软件开发 2021北京网络安全大会日程 软件开发实验心得 杭州视频app软件开发公司 无棣软件开发入门教学在线学习 服务器加装显卡和声卡 ios 数据库 简书 互联网时间同步服务器
0