document.body.scrollTop滾動失效

先來說一下場景

      進入頁面之後,需要頁面滾動到指定的標籤位置,但是如下設置之後,並沒有什麼效果

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;

原創不易!自由轉載!保留出處!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章