我想创建一个基于div内图像的动画。我想要三分之一的图像出现,然后消失,然后出现另外三分之一的图像等。 因此,我将图像分为3个不同的类别。Javascript/jquery多元素不透明动画
我已经研究了一点关于它的发现,最好的办法是动画不透明度,如本文http://www.catchmyfame.com/2010/08/31/jquery-hide-vs-fadeout-vs-animate/
问题是,当我运行我的代码,所有的动画一次运行中所看到的,和图像不会留在屏幕上很长时间。 任何帮助正确的方向将不胜感激。
的代码是在http://jsfiddle.net/vwrwsp62/1/
$(document).ready(function() {
$(".hardware > img").css("opacity", "0");
setInterval(function() {
$('.show1').animate({opacity:1}, 1000)
}, 4000);
setInterval(function() {
$('.show1').animate({opacity:0}, 1000)
}, 1000);
setInterval(function() {
$('.show2').animate({opacity:1}, 1000)
}, 4000);
setInterval(function() {
$('.show2').animate({opacity:0}, 1000)
}, 1000);
setInterval(function() {
$('.show3').animate({opacity:1}, 1000)
}, 4000);
setInterval(function() {
$('.show3').animate({opacity:0}, 1000)
}, 1000);
});
编辑:一些输入我想出了一些代码工作的,尽管它结束了一个小随机和不准确后:
$(document).ready(function() {
$(".hardware > img").css("opacity", "0");
setInterval(function() {
$('.show1').animate({opacity:1}, 1000).delay(18000);
$('.show1').delay(6000).animate({opacity:0}, 1000).delay(12000);
$('.show2').delay(7000).animate({opacity:1}, 1000).delay(11000);
$('.show2').delay(12000).animate({opacity:0}, 1000).delay(6000);
$('.show3').delay(13000).animate({opacity:1}, 1000).delay(5000);
$('.show3').delay(18000).animate({opacity:0}, 1000);
}, 0);
});
而不是使用'setInterval'可以传递函数的动画将动画完成'$ .animate后运行({不透明度:0},1000,函数(){//其他动画})' – 2014-10-02 11:46:09
对不起,那对我来说真的没用。检查编辑。 – 2014-10-02 12:03:21