<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
@-webkit-keyframes open {
0% {
-webkit-transform: rotateX(-120deg);
}
25% {
-webkit-transform: rotateX(25deg);
}
50% {
-webkit-transform: rotateX(-15deg);
}
75% {
-webkit-transform: rotateX(10deg);
box-shadow: inset 0 0 0 0 #ccc;
}
100% {
-webkit-transform: rotateX(0deg);
}
}
@-webkit-keyframes clos {
0% {
-webkit-transform: rotateX(0deg);
}
100% {
-webkit-transform: rotateX(-120deg);
}
}
.wrap {
240px;
position: relative;
-webkit-perspective: 800px;
margin: 0 auto;
}
.wrap h3 {
margin: 0;
height: 40px;
background: #f60;
color: #fff;
line-height: 40px;
text-align: center;
font-size: 16px;
position: relative;
z-index: 10;
}
.wrap div {
position: absolute;
top: 30px;
left: 0;
-webkit-transform-style: preserve-3d;
100%;
-webkit-transform-origin: top;
-webkit-transform: rotateX(-120deg);
z-index: 1;
}
.wrap>div:nth-of-type(1) {
top: 40px;
}
.wrap span {
display: block;
height: 28px;
background: aquamarine;
color: #fff;
font: 14px/28px "宋体";
text-indent: 20px;
box-shadow: inset 0 0 100px 20px rgba(0, 0, 0, 1);
transition: 1s;
}
.wrap .open {
-webkit-transform: rotateX(0deg);
-webkit-animation: 5s open ease-in-out;
}
.wrap .open>span {
box-shadow: inset 0 0 100px 20px rgba(0, 0, 0, 0);
}
.wrap .clos {
-webkit-transform: rotateX(-120deg);
-webkit-animation: 0.7s clos ease-in-out;
}
.wrap .clos>span {
box-shadow: inset 0 0 100px 20px rgba(0, 0, 0, 1);
}
#btn {
position: absolute;
left: 0;
top: 0;
100px;
height: 30px;
transition: 1s;
}
</style>
<script>
window.onload = function () {
var oBtn = document.getElementById("btn");
var oWrap = document.getElementById("wrap");
var aDiv = oWrap.getElementsByTagName("div");
var i = 0;
var oTimer = null;
var iDelay = 200;
var Boff = true;
oBtn.onclick = function () {
oBtn.style.left = "-300px";
if (Boff) {
i = 0;
oTimer = setInterval(function () {
aDiv[i].className = "open";
if (i == aDiv.length - 1) {
clearInterval(oTimer);
oBtn.style.left = "0px";
oBtn.value = "关闭";
}
i++;
}, iDelay);
}
else {
i = aDiv.length - 1;
oTimer = setInterval(function () {
aDiv[i].className = "clos";
if (i == 0) {
clearInterval(oTimer);
oBtn.style.left = "0px";
oBtn.value = "展开";
}
i--;
}, 100);
}
Boff = !Boff;
};
};
</script>
</head>
<body>
<input type="button" value="展开" id="btn" />
<div class="wrap" id="wrap">
<h3>这是标题</h3>
<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>
<span>选项8</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>