捲動進度條,以及為什麼你的進度條該是一隻狗
每個長頁面都會引出同一個問題:還剩多少內容?進度指示器就是用來回答這個問題的,而大多數進度指示器給出答案的方式,你大概在第二段之後就已經不再注意了。
這條進度條是為了什麼
原則上,捲軸本身就已經告訴了你所在的位置。但實際上它只有幾個像素寬,滑鼠不動時會自動隱藏,而在一個邊載入圖片邊被你閱讀的頁面上,它的滑塊還會一邊被你讀著一邊改變大小。擴充功能又把進度條加了回來,是因為瀏覽器自己給出的答案已經被悄悄地設計沒了。
於是你得到了一條隨捲動而填滿的、橫貫頁面頂端的細色條。它確實管用。但它也是頁面上最容易被視而不見的東西:它是一條直線,待在一條你的眼睛早已訓練成會自動忽略的窄帶裡,除了變長之外從不做任何別的事。
位置,但也是速度
一條進度條只攜帶一個數字——你往下捲了多遠。還有第二個數字本來是免費可用的,卻沒有任何一條進度條把它顯示出來:你移動的速度有多快。
scrolldog 兩個都帶著。這隻寵物沿視窗邊緣的位置,就是捲動深度。頁面頂端時牠在左側,頁面底端時牠已經到了另一側。牠的步態就是捲動速度:快速滑動滾輪牠就飛奔,一段一段地慢慢往下捲牠就小跑。
停下來,牠就坐下——這正是一條普通進度條做不到的事。一條靜止的進度條,無論你是在認真閱讀,還是把這個分頁晾了三個小時沒管,看起來都一模一樣。而一隻已經坐下的寵物,是在告訴你這個頁面已經安靜下來了,讀懂它不花你一分力氣,因為你其實根本沒在留意它——你只是用眼角的餘光瞥見了牠,而這本來就是一個進度指示器所配得到的全部關注。
它的代價是什麼
對裝飾性擴充功能的常見質疑,是它會讓瀏覽器變得更差。這一個以被動方式監聽捲動事件,把每一陣密集的事件合併成每個動畫影格只寫入一次,並且只在一個固定的、尺寸為零的軌道裡移動單一元素。它從不讀取或更改你頁面的版面配置,也不會從你正在閱讀的頁面發出任何網路請求。
彈出視窗裡的一個開關,就能立即在所有開啟的分頁裡把它統一關閉。
看看它是怎麼運作的