三行jquery實現選項卡效果
阿新 • • 發佈:2019-02-09
選項卡特效的實現
實現選項卡特效,先講一下大致的思路.
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>