老师麻烦解释一下

老师麻烦解释一下

# 具体遇到的问题

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)


window.onresize = function() {

console.log(document.body.clientHeight);

console.log(document.body.clientWidth);

}

document.body.clientHeight获取的不是可见高度吗?为什么我在谷歌浏览器中缩放窗口获得的

document.body.clientHeight并没有发生改变,而只有document.body.clientWidth有变化

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,问题解答如下:

1.老师这边测试,document.body.clientHeigh获取的高度为0。因为document.body.clientHeight获取的是body的高度,当body里面没有内容撑开它的高度,且自身没有设置高度的情况下,默认高度为0。

例如给body设置一个高度1000px:

http://img1.sycdn.imooc.com//climg/5fd6d372096aa29803230095.jpg

获取的document.body.clientHeight返回的值为1000:

http://img1.sycdn.imooc.com//climg/5fd6d39509c1349501750057.jpg

2.如果想要获取文档的可见高度,因为使用document.documentElement.clientHeight。如下:

http://img1.sycdn.imooc.com//climg/5fd6d42709e67d3805090062.jpg

http://img1.sycdn.imooc.com//climg/5fd6d430093a068001790074.jpg

3.如果第一条同学和老师测试的结果不一样,可能是测试的页面,body是有内容撑开高度。但是无论怎样测试,body的高度我们没有手动改变,那么缩放页面是不会改变的。建议同学使用document.documentElement.clientHeight测试哦。

祝学习愉快~

  • 大白前端 提问者 #1
    可是缩放窗口的时候document.body.clientWidth会变化,不是说明是可见宽度变了吗?为什么老师要设置body的高度才显示document.body.clientHeight, document.body.clientHeight不是获取可见高度吗?感觉老师没讲清楚
    2020-12-14 11:02:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师