先來說一下場景:
進入頁面之後,需要頁面滾動到指定的標籤位置,但是如下設置之後,並沒有什麼效果
document.body.scrollTop=(0,300)
解決方案:
let htmlDom = document.documentElement;
htmlDom.scrollTo(0,300)
問題解決了,但是這2中寫法有啥區別呢?咱們繼續往下看:
1、什麼是document.body?
返回html dom中的body節點 即<body>
2、什麼是document.documentElement?
返回html dom中的root 節點 即<html>
總結一下:
這個涉及到瀏覽器機制,chrome、firefox和ie之前有區別;
1)如果頁面中存在DTD,那麼就可以使用document.documentElement來獲取某些值;
2)如果不存在DTD,就不能通過document.documentElement來獲取了,就通過document.body來獲取某些值了
可以兼容解決方案:
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;