2011-10-19 68 views
1

我希望循環&顯示3張圖片jQuery - 爲什麼回調函數有延遲?

當顯示最後一張圖片時,需要多次重新回調runIt()函數。

我可以將其設置爲無延遲,然後再次回調函數?

function runIt() {  
    $("#image1,#image2,#image3").hide(); 
     $("#image1").show(0); 
     $("#image2").delay(1000).show(0); 
     $("#image3").delay(2000).show(0,0,runIt); 
     } 
runIt(); 

回答

1

標題和被問的問題似乎相互矛盾的我,反正你可以使用setTimeout

function runIt() {  
    $("#image1,#image2,#image3").hide(); 
     $("#image1").show(0); 
     $("#image2").delay(1000).show(0); 
     $("#image3").delay(2000).show(0,0,function(){ 
         setTimeout(function(){ 
          runIt();      
         }, 2000); 

       }); 
     } 
runIt(); 

DMEO

+0

太感謝你了,它的作品! – user964351

+0

歡迎您 – Rafay

0

你想運行的每個X秒功能?然後使用的setInterval()

setInterval(runIt, 1000); // 1000 = 1 second 

所以你的代碼應該是這樣的:

function runIt() {  
    $("#image1,#image2,#image3").hide(); 
    $("#image1").show(0); 
    $("#image2").delay(1000).show(0); 
    $("#image3").delay(2000).show(0); 
} 
setInterval(runIt, 3000);