還在用錨點作頁面內滾動?scrollIntoView讓你一步到位!

前言

在處理頁面內平滑滾動咱們使用的方案無外乎如下幾種瀏覽器

  1. 使用a標籤的href屬性
  2. 使用location.href
  3. 使用第三方庫

關於一、2點,樓主寫了一個例子
http://js.jirengu.com/qevud動畫

缺陷

若是咱們使用a標籤的href屬性的話:
其一是受限——只能在a標籤上使用這一功能
其二是a連接改變了url,這可能會給咱們形成一些沒必要要的麻煩
其三是沒有動畫效果(這點產品不能忍)url

若是咱們使用location.href的話:
比a標籤好一點,就是可使用js控制了,其它大同小異code

使用第三方庫能夠解決以上的問題,不過麻煩呀對象

下面,隆重介紹一下今天的主人公 —— Element.scrollIntoView()

Element.scrollIntoView()

Element.scrollIntoView()方法讓當前的元素滾動到 瀏覽器窗口的可視區域內

具體的介紹你們能夠去MDN自行閱讀,筆者主要介紹它的參數scrollIntoViewOptions對象的behavior屬性。
這個屬性主要是用來提供動畫效果的,其中autoinstant都是瞬間到達元素所在位置,可是smooth提供了一個平滑滾動的動畫效果。get

實際應用

隨隨便便擼個什麼回到頂部回到底部回到這回到那的功能,因此,懂了伐【奸笑臉】產品

關於兼容性的問題

基本全部瀏覽器(包括IE8但Opera Mini不行)作到基本跳轉是沒問題的,不過動畫效果支持的就太少了,具體你們能夠去caniuse上看io

若是作內部系統,交互要求又不高,這個API如今已是個人首選了,但願你們多多使用~~
相關文章
相關標籤/搜索