document.body.scrollTop和document.documentElement.scrollTop有什么兼容问题
还有个window.pageYOffset,老师讲下这几个的兼容性问题
6
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕星星
2022-11-25 18:25:28
同学你好,解答如下:
1、这两种写法主要是看html结构有没有doctype声明

如果没有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 星