您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關js鼠標經(jīng)過tab選項卡時實現(xiàn)切換延遲的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
偶然間在瀏覽網(wǎng)頁時,發(fā)現(xiàn)這樣的效果。當鼠標不經(jīng)意間滑過tab時并不會切換,當鼠標停留在上面一段時候后才會切換。
個人覺得用戶體驗不錯,優(yōu)點是1.當用戶只是滑過標簽,并不需要切換,而此時如果切換標簽需要請求數(shù)據(jù)時,會避免不必要的異步請求;2.避免頁面在用戶不需要的時候切換跳動,影響用戶體驗。
網(wǎng)上查閱了幾個方法,發(fā)現(xiàn)下面的方法更簡潔有效。整理下來,供以后參考。
其中的重點是那段js代碼:原理是,通過hover的時候設置定時器,延遲執(zhí)行切換方法,離開時,清楚計時器。當hover的時間小于延遲時間時,會清楚計時器,不會執(zhí)行切換方法。僅當停留時間大于延遲時間才會切換。這樣能有效避免滑過tab觸發(fā)切換事件。
復制代碼
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/jquery.1.11.3.min.js"></script> <script> $(function() { var t_li = $(".tab") var c_li = $(".tab-content div") t_li.hover(function() { var i = t_li.index($(this)); function way() { t_li.removeClass("cur").eq(i).addClass("cur"); c_li.hide().eq(i).show(); } timer = setTimeout(way, 500); }, function() { clearTimeout(timer); }); }); </script> <style> .head { width: 300px; height: 50px; border: 1px dashed #ccc; } .tab { width: 50%; float: left; line-height: 50px; cursor: pointer; } .cur { border-bottom: 2px solid red; } </style> </head> <body> <div class="main"> <div class="head"> <div class="tab cur">tab1</div> <div class="tab">tab2</div> </div> <div class="tab-content"> <div>tab1的內(nèi)容<br>tab1的內(nèi)容<br>tab1的內(nèi)容<br></div> <div >tab2的內(nèi)容<br>tab2的內(nèi)容<br>tab2的內(nèi)容<br></div> </div> </div> </body> </html>
關于“js鼠標經(jīng)過tab選項卡時實現(xiàn)切換延遲的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。