这是一个使用 javascript 和 css3 的方法
关键帧(每种方法有 3 个,支持 webkit、firefox 和标准),它们定义了我们的开始和结束状态。
类(淡入、淡出)指定我们将执行什么样的动画。即:使用缓入动画执行与类匹配的关键帧,并且只执行一次并保持在最后一个关键帧。
该课程one
仅演示了我们如何为不同的元素提供不同的延迟。
最后,我们有两个按钮(淡出和淡出)。每个都附加了一个“click”事件侦听器。单击时,它们会交换类以div
执行动画。CSS
@-webkit-keyframes fadeIn {
from {
opacity:0;
}
to {
opacity:1;
}
}
@-moz-keyframes fadeIn {
from {
opacity:0;
}
to {
opacity:1;
}
}
@keyframes fadeIn {
from {
opacity:0;
}
to {
opacity:1;
}
}
.fade-in {
opacity:0;
-webkit-animation:fadeIn ease-in 1;
-moz-animation:fadeIn ease-in 1;
animation:fadeIn ease-in 1;
-webkit-animation-fill-mode:forwards;
-moz-animation-fill-mode:forwards;
animation-fill-mode:forwards;
-webkit-animation-duration:1s;
-moz-animation-duration:1s;
animation-duration:1s;
}
.fade-in.one {
-webkit-animation-delay: 1s;
-moz-animation-delay: 1s;
animation-delay: 1s;
}
@-webkit-keyframes fadeOut {
from {
opacity:1;
}
to {
opacity:0;
}
}
@-moz-keyframes fadeOut {
from {
opacity:1;
}
to {
opacity:0;
}
}
@keyframes fadeOut {
from {
opacity:1;
}
to {
opacity:0;
}
}
.fade-out {
opacity:1;
-webkit-animation:fadeOut ease-in 1;
-moz-animation:fadeOut ease-in 1;
animation:fadeOut ease-in 1;
-webkit-animation-fill-mode:forwards;
-moz-animation-fill-mode:forwards;
animation-fill-mode:forwards;
-webkit-animation-duration:1s;
-moz-animation-duration:1s;
animation-duration:1s;
}
.fade-out.one {
-webkit-animation-delay: 1s;
-moz-animation-delay: 1s;
animation-delay: 1s;
}
HTML
<button id="in">Fade In</button>
<button id="out">Fade Out</button>
<div id="myDiv" class="fade-in one">Some text</div>
Javascript
var myDiv = document.getElementById("myDiv");
document.getElementById("in").addEventListener("click", function () {
myDiv.className = myDiv.className.replace(/fade-out/, "").trim() + " fade-in";
}, false);
document.getElementById("out").addEventListener("click", function () {
myDiv.className = myDiv.className.replace(/fade-in/, "").trim() + " fade-out";
}, false);
在jsfiddle 上