三行jquery實現手風琴效果

手風琴特效的實現
實現手風琴特效,先講一下大致的思路.

1.用一個大的div 包裹住一個ul ,ul ,裏面再接四個小的li,
html代碼結構大致如下,設置背景色是爲了看出效果,最後一個是默認展開,可以自己隨意設置 It’s easy

    <div>
            <ul>
               <li style="background-color:lawngreen ;"></li>
               <li style="background-color:lightblue;"></li>
               <li style="background-color:lightcyan;"></li>
               <li style="background-color:lightgray;"></li>
               <li style="background-color:lightpink;width: 800px;"></li>
            </ul>
    </div>

2.css樣式的設計,再次聲明由於沒有圖片這裏就只能靠背景顏色來展示效果了,記得在實際運用過程中,是不會使用border,要注意啦,盒子模型的大小是由,maggin +border +padding+context 所以用背景代替border

    *{
        margin: 0;
        padding: 0;
    }//慣例去邊距
    img{
        border:none;height: 400px;width: 800px;
    }//爲有圖片的小夥伴準備的樣式
        ol, ul ,li{list-style: none;}
        div{
            width:1000px;//五張圖的寬度和
            height: 400px;
            margin:50px auto;
            overflow:hidden;
        }
        div li {
            width:50px;//五張圖,有一張是展開的800px,其餘的都是50px
            height: 400px;
            float:left;
        }

3,好了. 佈局完成了,該上了`這裏jquery的代碼了

$("li").mouseover(function(){
    $(this).animate({"width":"800px"},400).siblings('li').animate({"width":"50px"},400)
})

哈哈,果真就是三行,不過有個小bug ,我就不說出來了。

最後上一個完整的代碼,可以直接copy過去運行看效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>手風琴</title>
    <style type="text/css">
    *{
        margin: 0;
        padding: 0;
    }
    img{
        border:none;height: 400px;width: 800px;
    }
        ol, ul ,li{list-style: none;}
        div{
            width:1000px;
            height: 500px;
            margin: auto;
            overflow:hidden;
        }
        div li {
            width:50px;
            height: 500px;
            float:left;
        }
    </style>
</head>
<body>
    <div>
            <ul>
               <li style="background-color:lawngreen ;"></li>
               <li style="background-color:lightblue;"></li>
               <li style="background-color:lightcyan;"></li>
               <li style="background-color:lightgray;"></li>
               <li style="background-color:lightpink;width: 800px;"></li>
            </ul>
    </div>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$("li").mouseover(function(){
    $('div>ul>li').finish();
    $(this).animate({"width":"800px"},500).siblings('li').animate({"width":"50px"},500)
})
</script>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章