选项卡特效的实现
实现选项卡特效,先讲一下大致的思路.
1.用一个大的div 包裹住一个ul ,ul ,里面再接四个小的li,和四个可以点击的span ,用按钮等代替也行。
html代码结构大致如下,设置背景色是为了看出效果,最后一个是默认展开,可以自己随意设置 It’s easy
<div> <div>
<ul>
<p><span>1</span><span>2</span><span>3</span><span>4</span></p>
<li style="background-color:lawngreen ;"></li>
<li style="background-color:lightblue;"></li>
<li style="background-color:lightcyan;"></li>
<li style="background-color:lightpink;display: block;"></li>
</ul>
</div>
2.css样式的设计,再次声明由于没有图片这里就只能靠背景颜色来展示效果了,记得在实际运用过程中,是不会使用border,要注意啦,盒子模型的大小是由,maggin +border +padding+context 所以用背景代替border
*{
margin: 0;
padding: 0;
}
ol, ul ,li{list-style: none;}
div{
width: 600px;
margin: auto;
}
div ul{
width:600px;
height: 400px;
}
div ul li{
width: 100%;
height: 350px;
display: none;
}
span{
width: 25%;
height: 50px;
line-height: 50px;
text-align: center;
border-radius: 3px;
display: inline-block;
background-color: #0094FF;}
span:active{
background-color: beige;
}
3,好了. 布局完成了,该上了`这里jquery的代码了
$('div ul span').click(function(){
$('div ul li:eq('+ $(this).prevAll().length+')').show().siblings('li').hide();
})
哈哈,果真就是三行,写的有些臃肿,为了达到标题目标就不要在意啦 。
最后上一个完整的代码,可以直接copy过去运行看效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>选项卡</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
ol, ul ,li{list-style: none;}
div{
width: 600px;
margin: auto;
}
div ul{
width:600px;
height: 400px;
}
div ul li{
width: 100%;
height: 350px;
display: none;
}
span{
width: 25%;
height: 50px;
line-height: 50px;
text-align: center;
border-radius: 3px;
display: inline-block;
background-color: #0094FF;}
span:active{
background-color: beige;
}
</style>
</head>
<body>
<div>
<ul>
<p><span>1</span><span>2</span><span>3</span><span>4</span></p>
<li style="background-color:lawngreen ;"></li>
<li style="background-color:lightblue;"></li>
<li style="background-color:lightcyan;"></li>
<li style="background-color:lightpink;display: block;"></li>
</ul>
</div>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$('div ul span').click(function(){
$('div ul li:eq('+ $(this).prevAll().length+')').show().siblings('li').hide();
})
</script>
</body>
</html>