使用jquery实现div的tab切换实例代码
jquery实现tab切换 接触jq不久以前的js代码来写的简单效果现在用jq来写:
html代码:
. 代码如下:
<p id="sidebar-tab">
<p id="tab-title">
<h3><span class="selected">最新评论</span><span>近期热评</span><span>随机文章</span></h3>
</p>
<p 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>
</p>
</p>
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);