document.documentElement.scrollTop 一直为0,无论你是给它赋值,或者取值,一直为0,而 document.body.scrollTop 却可以取得值,也可以赋值。
原因
原因就是我们平时说的DTD问题。DTD问题就是你的html中没有有下图中红框中的内容:
1.如果有DTD,就可以使用document.documentElement.scrollTop
2.如果没有DTD,使用document.body
关于scrollTop取值操作
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop
scrollTop赋值操作
document.documentElement.scrollTop = 666;
document.body.scrollTop = 666;
结束
在做移动端页面时,发现华为手机浏览器就有DTD问题(由于没有其他安卓手机,不知道是不是安卓手机都有DTD问题,请哪位大佬指教,感谢🙏🙏🙏)