このソリューションでは、CSS3 キーフレームを使用します: http://jsfiddle.net/Jvn4F/2/
CSS:
@-webkit-keyframes animate {
0%{
opacity: 0;
}
40%{
opacity: 0;
}
100%{
opacity: 1;
}
}
#arrows {
width:100%;
height:100px;
position:absolute;
top:220px;
left:300px
}
#arrows .arrow{
background:url(http://i.stack.imgur.com/xRwtw.png) no-repeat;
height:49px;
width:40px;
float:left;
opacity: 0;
}
#arrows .arrow.show{
-webkit-animation-name: animate;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: alternate;
}
JS:
$(".left").addClass('show');
setTimeout(function(){
$(".middle").addClass('show');
}, 500);
setTimeout(function(){
$(".right").addClass('show');
}, 1000);
このソリューションでは、アニメーションに jQuery を使用します:
http://jsfiddle.net/Jvn4F/3/
jQuery:
function animate() {
$('.left').fadeTo(500, 1).delay(500).fadeTo(500, 0);
$('.middle').delay(250).fadeTo(500, 1).delay(500).fadeTo(500, 0);
$('.right').delay(500).fadeTo(500, 1).delay(500).fadeTo(500, 0);
}
setInterval(animate, 2000);
CSS:
#arrows{
width:100%;
height:100px;
position:absolute;
top:220px;
left:300px
}
#arrows .arrow{
background:url(http://i.stack.imgur.com/xRwtw.png) no-repeat;
height:49px;
width:40px;
float:left;
opacity: 0;
}
fadeIn()
andは DOM から要素を削除するためfadeOut()
、遅くなり、そのためにfloat:left
and.middle
が.right
一度シフトする.left
か.middle
、フェードアウトします。
setTimeout
いずれかの方法 (JSまたはが原因で
setInterval
) のタイミングが不正確になる可能性が
あることを考慮する必要があります。一部の用途では (ajax ローダー アイコンで見られるように)、複数の小さな画像をアニメーション化するよりも、アニメーション化された gif の方が適している場合があります。