<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            @-webkit-keyframes open{
                0%{
                    -webkit-transform: rotateX(-120deg);
                }
                25%{
                    -webkit-transform: rotateX(30deg);
                }
                50%{
                    -webkit-transform: rotateX(-15deg);
                }
                75%{
                    -webkit-transform: rotateX(8deg);
                }
                100%{
                    -webkit-transform: rotateX(0deg);
                }
            }
            @-webkit-keyframes close{
                0%{
                    -webkit-transform: rotateX(0deg);
                }
                100%{
                    -webkit-transform: rotateX(-120deg);
                }
            }
            body{
                margin: 0;
            }
            #wrap{
                width: 250px;
                margin: 30px auto;
                position: relative;
                -webkit-perspective: 800px;
            }
            #wrap h2{
                height: 40;
                background: #F76300;
                color: #FFFFFF;
                font: bold 16px/40px "微软雅黑";
                text-align: center;
                margin: 0;
                position: relative;
                z-index: 10;
            }
            #wrap div{
                width: 100%;
                position: absolute;
                top:32px;
                left: 0;
                -webkit-transform-style:preserve-3d;
                -webkit-transform-origin: top;
                -webkit-transform: rotateX(-120deg);
            }
            #wrap span{
                display: block;
                height: 30px;
                background: #9f0;
                font: 12px/30px "宋体";
                color: #FFFFFF;
                text-indent: 20px;
                box-shadow:inset 0 0 0 20px rgba(0,0,0,1);
                transition: 1s;
            }
            #wrap>div{
                top: 40px;
            }
            input{
                position: absolute;
            }
            #wrap .show{
                -webkit-animation:2s open;
                -webkit-transform: rotateX(0deg)
            }
            #wrap .show>span{
                box-shadow:inset 0 0 0 20px rgba(0,0,0,0);
            }
            #wrap .hide{
                -webkit-animation: 0.8s close;
                -webkit-transform: rotateX(-120deg)
            }
        </style>
    </head>
    <body>
        <input id="btn" type="button" value="我是按钮"/>
        <div id="wrap">
            <h2>我是标题</h2>
            <div>
                <span>选项1</span>
                <div>
                    <span>选项2</span>
                    <div>
                        <span>选项3</span>
                        <div>
                            <span>选项4</span>
                            <div>
                                <span>选项5</span>
                                <div>
                                    <span>选项6</span>
                                    <div>
                                        <span>选项7</span>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <script>
            window.onload = function(){
                var oInp = document.getElementById("btn");
                var wrap = document.getElementById("wrap");
                var aDiv = wrap.getElementsByTagName("Div");
                var timer = null;
                var iNow = 0;
                var onOff =true;
                oInp.addEventListener("click",function(){
                    if (onOff) {
                        iNow = 0
                        timer = setInterval(function(){
                            aDiv[iNow].className = "show";
                                iNow++;
                                if (iNow == aDiv.length) {
                                    clearInterval(timer);
                                    onOff = !onOff;
                                }
                                
                        },200)
                    } else{
                        iNow = aDiv.length-1;
                        timer = setInterval(function(){
                            aDiv[iNow].className = "hide";
                                iNow--;
                                if (iNow < 0) {
                                    clearInterval(timer);
                                    onOff = !onOff;
                                }        
                        },200)
                    }
                })
            }
        </script>
    </body>
</html>

 

 posted on 2017-05-31 16:02  my_summer  阅读(153)  评论(0编辑  收藏  举报