我想創建一個基於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