2013-01-13 71 views
0

在我以前的帖子我問了一下做大旗,經過一番搜索我抓住一些概念...連續循環需要在橫幅

function animate(el) 
{ 
var div = $(el); 
return  div.css("display","block").animate({width:0},1).animate({width:1100},2000).delay(4000).hide(1); 
} 

$(document).ready(function(){ 
    var dfd = $.Deferred(), 
    chain = dfd; 

var slide = ['#img2']; 

$.map(slide, function(el) { 
    chain = chain.pipe(function() { 
     return animate(el).promise(); 
    }); 
}); 

return dfd.resolve();     
}); 

這裏是我的代碼,我想知道,使之連續,當幻燈片陣列完成它不顯示任何更多的圖片。我想重複整個序列。

+0

可能的[JQuery連續循環動畫]的重複(http://stackoverflow.com/questions/6767286/jquery-continuously-loop-animation) –

+1

使其成爲遞歸函數,在當前函數的末尾放置一個setTimeout (function(){animate(el);},XXX);所以它每隔XXX毫秒重複一次 – aurbano

+0

我試過了你的兩個建議,但它不起作用,或者我把這些功能放在了錯誤的位置,你能指導我在哪裏放置這個功能。 –

回答

0

擴展了Chevi的遞歸函數評論。

function recursiveFunction() { 

    // execute the function's code (i.e. your banner animation) 

    // recurse after 1 second 
    setTimeout(recursiveFunction, 1000); 
} 

這是一個使用計時器遞歸的例子。
您當然必須對其進行修改以適合您的代碼。

+0

我可以爲一個橫幅做動畫,但是在上面的代碼中,我正在更改圖片,所以我不得不回憶上次的回調函數。我在多張照片有問題,一張照片更換對我來說很簡單。 –