一、關於滑鼠hover事件及延時
滑鼠經過事件為web頁面上非常常見的事件之一。簡單的hover可以用CSS :hover偽類別實現,複雜點的用js。
一般情況下,我們是不對滑鼠hover事件進行延遲處理。但是,有時候,為了避免不必要的干擾,常常會對滑鼠hover事件進行延時處理。所謂幹擾,就是當使用者滑鼠不經意地劃過摸個鏈接,選項卡,或是其他區域時,本沒有顯示隱藏層,或是選項卡切換,但是由於這些元素上綁定了hover事件(或是mouseover事件),且無延時,這些時間就會立即觸發,反而會對使用者進行幹擾。
例如,在騰訊網首頁,幾乎對所有的滑鼠經過事件進行了延時處理,例如其選項卡:
或是其頂部的搜搜導航條,見下圖:
二、實例及示範
本文的主要內容就是展示我前幾天寫的滑鼠延遲的方法, jQuery下的方法,水平拙劣,僅供參考。本文就以騰訊網首頁搜搜搜尋欄的一些滑鼠經過效果為實例,示範jQuery下的縮時處理。下圖為demo頁面的效果截圖:
三、程式碼與實作
說到延遲,離不開window下的setTimeout方法,本實例的jQuery方法的核心也是setTimeout。程式碼不長,完整如下: