手风琴效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>手风琴效果</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        ul,ol,li{list-style: none;}
        .container{
            width: 500px;
            margin:100px auto 0;
        }
        .caption{
            border-bottom: 1px solid #ccc;
            position: relative;
        }
        .caption h1{
            line-height: 30px;
            font-size: 16px;
        }
        .icon{
            position: absolute;
            top:0;
            bottom: 0;
            right:10px;
            margin: auto;
            width: 6px;
            height:6px;
            background: url(icoAdd.png) 0 0 no-repeat;
        }
        .active{
            background-position: 0 -68px;
        }
        .down{
            border:  1px solid #ccc;
            border-top: none;
            display: none;
        }
    </style>
</head>
<body>
    <div class="container">
        <ul>
            <li>
                <div class="caption">
                    <h1>这是手风琴效果</h1>
                    <div class="icon active"></div>
                </div>
                <div class="down">
                    <ol>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                    </ol>
                </div>
            </li>
            <li>
                <div class="caption">
                    <h1>这是手风琴效果</h1>
                    <div class="icon"></div>
                </div>
                <div class="down">
                    <ol>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                    </ol>
                </div>
            </li>
            <li>
                <div class="caption">
                    <h1>这是手风琴效果</h1>
                    <div class="icon"></div>
                </div>
                <div class="down">
                    <ol>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                    </ol>
                </div>
            </li>
            <li>
                <div class="caption">
                    <h1>这是手风琴效果</h1>
                    <div class="icon"></div>
                </div>
                <div class="down">
                    <ol>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                    </ol>
                </div>
            </li>
            <li>
                <div class="caption">
                    <h1>这是手风琴效果</h1>
                    <div class="icon"></div>
                </div>
                <div class="down">
                    <ol>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                        <li>这是手风琴效果下拉</li>
                    </ol>
                </div>
            </li>
        </ul>
    </div>
    <script src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $('.icon:first').addClass('active');
            $('.down:first').show();
            $('.container').on('click','.caption',function(){
                if($(this).find('.icon').hasClass('active')){
                    $(this).find('.icon').removeClass('active');
                    $(this).next().hide();
                }else{
                    $('.icon').removeClass('active');
                    $('.down').hide();
                    $(this).find('.icon').addClass('active');
                    $(this).next().show();
                }
            });
        })
    </script>
</body>
</html>

改进版:

$(function(){
            $('.container').on('click','.caption',function(){
                if($(this).find('.icon').hasClass('active')){
                    $(this).find('.icon').removeClass('active');
                    $(this).next().hide();
                }else{
                    $('.icon').removeClass('active');
                    $('.down').hide();
                    $(this).find('.icon').addClass('active');
                    $(this).next().show();
                }
            });
            $('.caption:first').trigger('click');
        })

 

posted @ 2016-02-19 13:55  黑客PK  阅读(243)  评论(0编辑  收藏  举报