我的问题并不在于如何制作在页面加载时触发的动画,这是最好的方法。这至少意味着:
响应性。
-SEO友好。
- 没有闪烁。
通常我会创建一个未激活的.hidden
或.offpage
状态(以防万一没有javascript工作)。然后,当页面加载时,javascript会添加一个类来隐藏它们而不进行转换,然后通过转换来反转状态。
这种方法可以改进吗?
答案 0 :(得分:0)
您不需要任何Javascript来动画某些内容。你可以简单地使用CSS3。
header {
background: #000;
color: #fff;
height: 20px;
position: relative;
padding: 10px;
-moz-animation-name: dropHeader;
-moz-animation-iteration-count: 1;
-moz-animation-timing-function: ease-in;
-moz-animation-duration: 0.3s;
-webkit-animation-name: dropHeader;
-webkit-animation-iteration-count: 1;
-webkit-animation-timing-function: ease-in;
-webkit-animation-duration: 0.3s;
animation-name: dropHeader;
animation-iteration-count: 1;
animation-timing-function: ease-in;
animation-duration: 0.3s;
}
header ul {
list-style: none;
margin: 0;
padding: 0;
}
header ul li {
display: inline-block;
margin-right: 20px
}
@-moz-keyframes dropHeader {
0% {
-moz-transform: translateY(-40px);
}
100% {
-moz-transform: translateY(0);
}
}
@-webkit-keyframes dropHeader {
0% {
-webkit-transform: translateY(-40px);
}
100% {
-webkit-transform: translateY(0);
}
}
@keyframes dropHeader {
0% {
transform: translateY(-40px);
}
100% {
transform: translateY(0);
}
}
/* Added for aesthetics */
body {
margin: 0;
font: normal 14px"Segoe UI", Arial, Helvetica, Sans Serif;
}
a {
color: #eee;
text-decoration: none;
}

<header>
<ul>
<li><a href="#">Home</a>
</li>
<li><a href="#">About</a>
</li>
<li><a href="#">Products</a>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
</header>
&#13;