首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js获取可视区高度

在JavaScript中,获取可视区(即浏览器窗口的可见区域)的高度可以通过多种方式实现。以下是一些常用的方法:

1. window.innerHeight

window.innerHeight 返回浏览器窗口的内部高度(以像素为单位),包括滚动条。

代码语言:txt
复制
console.log(window.innerHeight);

2. document.documentElement.clientHeight

document.documentElement.clientHeight 返回文档的根元素(<html>)的可视区域高度,不包括滚动条。

代码语言:txt
复制
console.log(document.documentElement.clientHeight);

3. document.body.clientHeight

document.body.clientHeight 返回 <body> 元素的高度,这个值可能会受到页面内容的影响。

代码语言:txt
复制
console.log(document.body.clientHeight);

优势

  • 实时性:这些属性可以实时反映浏览器窗口的大小变化。
  • 兼容性:大多数现代浏览器都支持这些属性。

应用场景

  • 响应式设计:根据可视区高度调整页面布局。
  • 滚动事件:在滚动事件中使用可视区高度来计算滚动位置或加载更多内容。

注意事项

  • 在不同的浏览器和设备上,这些属性的值可能会有所不同。
  • 在页面加载初期,document.body.clientHeight 可能会返回不准确的结果,因为此时 <body> 元素可能还没有完全渲染。

示例代码

以下是一个综合示例,展示如何在不同情况下获取可视区高度:

代码语言:txt
复制
function getViewportHeight() {
    return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
}

console.log("当前可视区高度: " + getViewportHeight() + "px");

// 监听窗口大小变化
window.addEventListener('resize', function() {
    console.log("窗口大小变化,新的可视区高度: " + getViewportHeight() + "px");
});

解决常见问题

  • 获取到的高度不准确:确保在DOM完全加载后再获取高度,可以在 window.onload 事件中进行操作。
  • 滚动条影响:如果需要排除滚动条的影响,可以使用 document.documentElement.clientHeight

通过以上方法,你可以准确地获取浏览器窗口的可视区高度,并根据需要进行相应的处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

js获取各种高度总结

在写js的时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。抽空整理了我自己常用到的,时间仓促,没有考虑到万恶的IE浏览器。。。。...获取屏幕的高度和宽度(屏幕分辨率): window.screen.height window.screen.width 获取屏幕工作区域的高度和宽度(去掉状态栏): window.screen.availHeight...window.screen.availWidth 网页全文的高度和宽度: document.body.scrollHeight document.body.scrollWidth 滚动条卷上去的高度和向右卷的宽度...: document.body.scrollTop document.body.scrollLeft 网页可见区域的高度和宽度(不加边线): document.body.clientHeight document.body.clientWidth...网页可见区域的高度和宽度(加边线): document.body.offsetHeight document.body.offsetWidth

12.6K20
  • JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度

    屏幕可用工作区宽度:window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象的滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...-- var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度...else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取窗口高度

    8.1K30

    vue.js数据渲染完成后,获取页面高度问题

    遇到的问题 通过接口请求出来的数据,渲染到页面上,再获取元素内容高度的时候,高度为0 为什么高度会是0 因为我是在接口返回数据后,就直接在回调函数里获取了元素内容的高度。...虽然数据获取到了,但是页面还没有及时的渲染出来,所以获取的内容高度就为0了 然后我就延迟2秒获取内容高度,发现内容高度是渲染完成后的正常高度,但是这样肯定是不行的。...部分代码示例一: mounted() { this.getDataList(); //调用方法 }, methods: { //获取数据列表 getDataList() {...1&keywords=') .then(function (res) { that.dataList = res.data.data; //将获取到的数据赋值给...(() => { console.log(content.offsetHeight); // 600 }) } }, methods: { //获取数据列表

    6.1K30

    JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度(转)

    window.screen.availWidth  HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth  scrollHeight: 获取对象的滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离  scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离  scrollWidth:获取对象的滚动宽度...  offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度  offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...--  var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度 if (window.innerWidth...window.innerWidth; else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取窗口高度

    16.2K10

    Javascript 获取div真实高度

    如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。...原文:http://www.cnblogs.com/zhwl/p/3858682.html 实际测试过程中,发现上面获取真实高度是有问题,其实无论是设置在样式表还是在行内设置,都会获取到你设置的值,如果要获取真实高度...: alert(parseInt($('.article__content div').get(0).offsetHeight)); 获取时只要在这个样式里面的div大小,这个就是真实高度。...这里还附带其它的获取高度方法 alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).height()); //浏览器当前窗口文档的高度...body的总高度 包括border padding margin alert($(window).width()); //浏览器当前窗口可视区域宽度 alert($(document).width())

    5.1K30

    js 获取浏览器高度和宽度值(多浏览器)

    window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象的滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...-- var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度 if (window.innerWidth...else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取窗口高度

    10.5K60

    js 获取浏览器高度和宽度值(多浏览器)

    屏幕可用工作区宽度: window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象的滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...-- var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度 if (window.innerWidth...else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取窗口高度

    7.7K80

    js 获取浏览器高度和宽度值(多浏览器)

    屏幕可用工作区宽度: window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象的滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...-- var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度 if (window.innerWidth...else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取窗口高度

    5.6K10

    ClientHeight_offsetheight获取高度不对

    clientHeight:包括padding但不包括border、水平滚动条、margin的元素的高度。对于inline的元素这个属性一直是0,单位px,只读元素。...style.height //返回元素的高度(包括元素高度,不包括内边距、边框和外边距) clientHeight //返回元素的高度(包括元素高度、内边距,不包括边框和外边距) offsetHeight...//返回元素的高度(包括元素高度、内边距和边框,不包括外边距) scrollHeigh //返回元素的高度(包括元素高度、内边距和溢出尺寸,不包括边框和外边距),无溢出的情况,与clientHeight...相同 scrollTop //此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边的距离,也就是元素滚动条被向下拉动的距离。...offsetTop //返回元素的上外缘距离最近采用定位父元素内壁的距离,如果父元素中没有采用定位的,则是获取上外边缘距离文档内壁的距离。

    3.1K20

    如何用JavaScript获取网页文档高度?

    为了实现这些功能,准确获取整个网页文档的高度是关键的一步。今天,我们就结合一个实际业务场景,来看一下如何用JavaScript获取整个文档的高度。...为了实现这个功能,我们需要精确地获取当前网页的高度,并判断用户是否已经滚动到页面底部。...方法一 :获取文档高度的方法 要获取文档的高度,可以使用scrollHeight、offsetHeight和clientHeight这些属性的最大值。...示例代码 在这个场景中,我们可以这样编写代码: // 获取文档的高度 function getDocumentHeight() { const body = document.body; const...示例代码 在我们这个加载更多商品的场景中,也可以使用这种方法来获取文档高度: // 获取文档的高度 function getDocumentHeight() { const body = document.body

    13400
    领券