document.body.scrollTop和document.documentElement.scrollTop有什么兼容问题

document.body.scrollTop和document.documentElement.scrollTop有什么兼容问题

还有个window.pageYOffset,老师讲下这几个的兼容性问题

正在回答 回答被采纳积分+1

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

1回答
好帮手慕星星 2022-11-25 18:25:28

同学你好,解答如下:

1、这两种写法主要是看html结构有没有doctype声明

https://img1.sycdn.imooc.com//climg/6380939a0956aa2111120215.jpg

如果没有doctype声明,就用document.body.scrollTop或者滚动值;如果有doctype声明,就用document.documentElement.scrollTop获取滚动值。否则不对应获取到的滚动值为0,自己可以测试下:

<!-- <!DOCTYPE html> -->
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            height: 3000px;
        }
    </style>
</head>

<body>
    <script>
        document.onscroll = function() {
            console.log('document.body.scrollTop:', document.body.scrollTop)
            console.log('document.documentElement.scrollTop:', document.documentElement.scrollTop)
        }
    </script>
</body>

</html>

2、window.pageYOffset是浏览器版本问题,IE8以及以下不兼容,无法获取此属性值。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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