1. 程式人生 > >三行jquery實現選項卡效果

三行jquery實現選項卡效果

選項卡特效的實現
實現選項卡特效,先講一下大致的思路.

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>