使用jquery实现div的tab切换实例代码
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>
#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;}
<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);