html获取页面高度,js获取各种高度

监听浏览器窗口大小改

先来一个浏览器窗口大小改变的事件,用来查看浏览器窗口的大小被改变可以触发一些函数

window.onresize 浏览器窗口大小改变事件

window.onresize = function () {

console.log('浏览器窗口的大小被改变了');

something.....

}

复制代码

在写js的时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。

1. 网页全文的高度和宽度:常用

获取的是body中的 内容 的高度,不会受到body本身的高度影响

如果body给定了固定高度/宽度 ,获取的依然是body里面内容的高度

document.body.scrollHeight    //文档高度 body中内容的高度

$(document).height()

document.body.scrollWidth     //文档宽度 **body中内容的宽度**

$(document).width()

复制代码

2. 获取屏幕的高度和宽度(屏幕分辨率):

获取整个屏幕的高\宽度

这是一个固定值

window.screen.height    //屏幕高度

window.screen.width     //屏幕宽度

复制代码

3. 获取屏幕可工作区域的高度和宽度(去掉状态栏):

只去除了上面的状态栏,打开控制台不受影响

这是一个固定值,不受浏览器窗口大小而改变

window.screen.availHeight = window.screen.height  -  浏览器上面状态栏的高度

复制代码

eca911995114e13c6b992b129f2af717.png

window.screen.availHeight    //可视区域去除状态栏高度

window.screen.availWidth    //可视区域去除状态栏宽度(和上面的值一样)

复制代码

4. 滚动条卷上去的高度和向右卷的宽度:

document.body.scrollTop

document.body.scrollLeft

复制代码

5. 网页可见区域的高度和宽度

以下所有的高度都会受到 body高度 的影响,比如body可是区域变小,或者body设置了固定高度

是去除浏览器上面个状态栏和控制台高度剩下的可以显示网页内容的高度

(不加边线):

document.body.clientHeight

document.body.clientWidth

复制代码

网页可见区域的高度和宽度(加边线):

document.body.offsetHeight

document.body.offsetWidth

window.innerHeight

window.innerWidth     //没有去除滚动条的宽度

document.documentElement.clientHeight

document.documentElement.clientWidth    //去除滚动条的宽度

复制代码

好的,这个问题可以通过CSS和JavaScript来实现。我们可以使用CSS设置状态栏的样式,然后使用JavaScript监听页面滚动事件,动态改变状态栏的内容和位置。以下是一个示例代码: ```html <!DOCTYPE html> <html> <head> <title>滚动状态栏</title> <style> #status-bar { position: fixed; bottom: 0; left: 0; width: 100%; height: 50px; background-color: #f5f5f5; border-top: 1px solid #e5e5e5; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #333; overflow: hidden; } </style> </head> <body> <!-- 此处省略页面内容 --> <div id="status-bar">状态栏</div> <script> var statusBar = document.getElementById("status-bar"); window.addEventListener("scroll", function() { // 获取页面滚动高度页面高度 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight; var clientHeight = document.documentElement.clientHeight || document.body.clientHeight; // 计算状态栏显示的内容和位置 var text = "已滚动 " + Math.round(scrollTop / (scrollHeight - clientHeight) * 100) + "%"; var top = Math.max(clientHeight + scrollTop - statusBar.offsetHeight, clientHeight - statusBar.offsetHeight); // 设置状态栏的内容和位置 statusBar.innerText = text; statusBar.style.top = top + "px"; }); </script> </body> </html> ``` 上面的代码中,我们使用CSS设置了状态栏的样式,然后使用JavaScript监听页面滚动事件,计算并设置状态栏的内容和位置。当用户滚动页面时,状态栏会动态显示当前滚动位置的百分比。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值