在處理頁面內平滑滾動咱們使用的方案無外乎如下幾種瀏覽器
a標籤的href屬性
location.href
關於一、2點,樓主寫了一個例子
http://js.jirengu.com/qevud動畫
若是咱們使用a標籤的href屬性
的話:
其一是受限——只能在a標籤上使用這一功能
其二是a連接改變了url,這可能會給咱們形成一些沒必要要的麻煩
其三是沒有動畫效果(這點產品不能忍)url
若是咱們使用location.href
的話:
比a標籤好一點,就是可使用js控制了,其它大同小異code
使用第三方庫能夠解決以上的問題,不過麻煩呀對象
下面,隆重介紹一下今天的主人公 —— Element.scrollIntoView()
Element.scrollIntoView()
方法讓當前的元素滾動到
瀏覽器窗口的可視區域內
具體的介紹你們能夠去MDN自行閱讀,筆者主要介紹它的參數scrollIntoViewOptions
對象的behavior
屬性。
這個屬性主要是用來提供動畫效果的,其中auto
和instant
都是瞬間到達元素所在位置,可是smooth
提供了一個平滑滾動的動畫效果。get
隨隨便便擼個什麼回到頂部
,回到底部
,回到這回到那
的功能,因此,懂了伐【奸笑臉】產品
基本全部瀏覽器(包括IE8但Opera Mini不行)作到基本跳轉是沒問題的,不過動畫效果支持的就太少了,具體你們能夠去caniuse上看。io
若是作內部系統,交互要求又不高,這個API如今已是個人首選了,但願你們多多使用~~