您好,登錄后才能下訂單哦!
這篇文章主要介紹js選項卡切換效果的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體內容如下
通過設置定時器實現延時0.5s切換,一個重要的技巧是定義了一個that變量來存放當前指針this。
之所以不能在這直接引用this是因為setTimeout是window對象,用this的話會指向定時器,所以要在前面定義一個變量。
還要注意調用定時器前要判斷是否存在準備執行的定時器。
效果如圖:
具體代碼:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>延時切換</title> <style type="text/css"> *{margin: 0;padding: 0;font: normal 12px "微軟雅黑";color: #000000;} ul{list-style-type: none;} a{text-decoration: none;} #tab-list{width: 275px;height: 190px;margin: 20px auto;} #ul1{border-bottom: 2px solid #8B4513;height: 32px;} #ul1 li{display: inline-block;width: 60px;line-height: 30px;text-align: center; border: 1px solid #999;border-bottom: none;margin-left: 5px;} #ul1 li:hover{cursor: pointer;} #ul1 li.active{border-top: 2px solid #8B4513;border-bottom: solid 2px #ffffff;} #tab-list div{border: 1px solid #7396B8;border-top: none;} #tab-list div li{height: 30px;line-height: 30px;text-indent: 8px;} .show{display: block;}.hide{display: none;} </style> <script type="text/javascript"> window.onload=function(){ var ul1=document.getElementById('ul1'); var aLi=ul1.getElementsByTagName('li'); var oDiv=document.getElementById('tab-list'); var aDiv=oDiv.getElementsByTagName('div'); var timer=null; for(var i=0;i<=aLi.length;i++){ aLi[i].id=i; aLi[i].onmouseover=function(){ var that=this;//用that這個變量來引用當前滑過的li //如果存在準備執行的定時器,立即清除,只能當前停留時間大于500ms時才開始執行(指鼠標快速滑過一個的那一瞬間要清除掉產生的定時器) if(timer){ clearTimeout(timer); timer=null; } //延時半秒執行 timer=window.setTimeout(function(){ for(var i=0;i<aLi.length;i++){ aLi[i].className=""; aDiv[i].className="hide"; } that.className="active";//之所以不能在這直接引用this是因為setTimeout是window對象,用this的話會指向定時器,所以要在前面定義一個變量 aDiv[that.id].className="show"; },500); } } } </script> </head> <body> <div id="tab-list"> <ul id="ul1"> <li class="active">房產</li><li>家居</li><li>二手房</li> </ul> <div> <ul> <li><a href="javascript:;">275萬購昌平鄰鐵三居 總價20萬買一居</a></li> <li><a href="javascript:;">200萬內購五環三居 140萬安家東三環</a></li> <li><a href="javascript:;">北京首現零首付樓盤 53萬購東5環50平</a></li> <li><a href="javascript:;">京樓盤直降5000 中信府 公園樓王現房</a></li> </ul> </div> <div class="hide"> <ul> <li><a href="javascript:;">40平出租屋大改造 美少女的混搭小窩</a></li> <li><a href="javascript:;">經典清新簡歐愛家 90平老房煥發新生</a></li> <li><a href="javascript:;">新中式的酷色溫情 66平撞色活潑家居</a></li> <li><a href="javascript:;">瓷磚就像選好老婆 衛生間煙道的設計</a></li> </ul> </div> <div class="hide"> <ul> <li><a href="javascript:;">通州豪華3居260萬 二環稀缺2居250w甩</a></li> <li><a href="javascript:;">西3環通透2居290萬 130萬2居限量搶購</a></li> <li><a href="javascript:;">黃城根小學學區僅260萬 121平70萬拋!</a></li> <li><a href="javascript:;">獨家別墅280萬 蘇州橋2居優惠價248萬</a></li> </ul> </div> </div> </body> </html>
以上是“js選項卡切換效果的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。