jQuery入门:选项卡切换特效

演示页面:[url]http://www.54173.cn/blog/wp-content/uploads/2011/jquery/tab.html[/url]

[b]原理[/b]

css:为html元素设置不同的类,利用display属性控制元素是否显示。

html:选项卡和内容数量相等且一一对应。

jquery:根据鼠标动作获取到被选中的选项卡;改变当前选项卡的类,使其显示;改变其它选项卡的类,使其显示未选中;获取当前选项卡在父元素中的顺序并找到对应的内容容器;改变此对应内容容器的类,使其显示;改变其它内容容器的类,使其隐藏。

[b]html结构[/b]

<div class="title_box clearfix"> //水平方向的两个选项卡
<h3 class="now_focus">第一个选项卡,默认选中</h3>
<h3>第二个选项卡,默认不选中</h3>
</div>
<div class="con_box"> //两个内容容器
<div class="now_focus clearfix">第一个容器,默认显示</div>
<div>第二个容器,默认不显示</div>
</div>
[b]
CSS样式[/b]

<style type="text/css">
.title_box {}
.title_box h3 {float:left; width:100px; height:30px; line-height:30px; text-align:center; margin-right:5px; background:#000; color:#fff; cursor:pointer; font-weight:normal;}
.title_box h3.now_focus {background:#fff; color:#000; font-weight:bold;}
.con_box {}
.con_box div {display:none; padding:30px; background:#fff;} //默认不显示
.con_box div.now_focus {display:block;} //使用display属性,父元素的高度将受当前显示元素高度的影响
</style>
[b]
jQuery代码[/b]

<script type="text/javascript">
$(document).ready(function() {
$(".title_box h3").click(function() {
$(this).addClass("now_focus"); //为被点击的选项卡添加“now_focus”类
$(this).siblings().removeClass("now_focus"); //去掉其它选项卡的“now_focus”类
var $dangqian = $(".con_box > div").eq($(".title_box h3").index(this)); //获取到和被点击选项卡顺序相同的内容容器
$dangqian.addClass("now_focus"); //为这个内容容器添加“now_focus”类
$dangqian.siblings().removeClass("now_focus"); //去掉其它内容容器的“now_focus”类
});
});
</script>

本着简单、易懂的原则,本例只实现了最基础的效果,利用css可以做出更加漂亮的选项卡切换。在演示页面中提供了一个垂直方向的选项卡切换实例以便参考,方法和本例一样,只是css样式不同而已。本例使用的是jquery 1.6.0。

以上内容根据个人经验总结,如有错误还请多多指正。欢迎一起交流、学习网页制作相关知识。
原文:[url]http://www.54173.cn/blog/?p=442[/url],转载请务必保留。
作者:mming
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值