jQuery實現Tab切換 接觸jQ不久以前的js代碼來寫的簡單效果現在用jQ來寫:
HTML代碼: . 代碼如下:
<div id="sidebar-tab">
<div id="tab-title">
<h3><span class="selected">最新評論</span><span>近期熱評</span><span>隨機文章</span></h3>
</div>
<div id="tab-content">
<ul><li>1234567890-1</li></ul>
<ul class="hide"><li>1234567890-2</li></ul>
<ul class="hide"><li>1234567890-3</li></ul>
</div>
</div>
css代碼: . 代碼如下:
#sidebar-tab{border:1px solid #ccf;margin-bottom:1.5em;overflow:hidden;}
#tab-title h3{color:#666;font-size:15px;font-weight:400;}
#tab-title .selected{color:#356aa0;border-bottom:0px;} /*標題被選中時的樣式*/
#tab-title span{padding:5px 9px 5px 10px;border:1px solid #ccf;border-right:0px;margin-left:-1px;cursor:pointer;}
#tab-content .hide{display:none;} /*默認讓第一塊內容顯示,其余隱藏*/
#tab-content ul{padding:5px 10px;overflow:hidden;}
#tab-content ul li{padding-top:5px;height:20px;}
jQ代碼:
. 代碼如下:
<script language="javascript">
$('#tab-title span').click(function(){
$(this).addClass("selected").siblings().removeClass();//removeClass就是刪除當前其他類;只有當前對象有addClass("selected");siblings()意思就是當前對象的同級元素,removeClass就是刪除;
$("#tab-content > ul").hide().eq($('#tab-title span').index(this)).show();
});
</script>
用jQ來寫很方便;先是找到ID中的子元素添加事件click引入函數;找到同級元素後removeClass();讓其他同級元素this時display:”none“;
下面是原來的jQ代碼: . 代碼如下:
<script>
$('#tab-title span').click(function(){ $(this).addClass("selected").siblings().removeClass(); $("#tab-content > ul").slideUp('1500').eq($('#tab-title span').index(this)).slideDown('1500')
});
</script>
當你觸發當前事件後再點擊當前事件還會觸發它;沒有必要點擊當前事件時還觸發事件(this);