我還不知道的一個方法 scrollintoview

案例場景

以下圖所示,點擊保存的時候,想把沒有標註到頁碼的圖片滾動到可視區域。 當我還在考慮計算標註圖片距離父容器的高度,而後設置容器的scrollTop的時候,旁邊的大神嗤之以鼻的說,你爲何不用scrollintoview
瀏覽器

什麼是scrollintoview?

Element.scrollIntoView(boolean) 方法讓當前的元素滾動到瀏覽器窗口的可視區域內,boolean參數默認爲true。app

  • 參數爲true時,頁面(或容器)發生滾動,使element的頂部與視圖(容器)頂部對齊;dom

  • 參數爲false時,使element的底部與視圖(容器)底部對齊。3d

頁面(容器)可滾動時纔有用哦~code

坑的說明

當使用scrollintoview的時候,它不只會滾到它父節點的頂部,若是它的祖先節點也能夠滾動,它會滾到最上面。以下圖所示,我想它滾到(answer)就行,可是它滾到了上面的節點(answer-wrapper),遮住了我其餘的子節點(answer-header)。blog

代碼層
圖片

效果(不是想要的)
element

通過個人排查,這個方法並不會給咱們的dom元素添加任何的樣式什麼的,而是改變了祖先元素的scrollTop值,若是你不想祖先的元素也滾動,那麼能夠以下,手動再設置下它的scrollTop值爲0;容器

至此,功能就沒問題了~scroll

我以爲仍是挺香的,記錄之~

相關文章
相關標籤/搜索