2012-06-15 228 views
0

我想要做一個無限循環的Javascript。Javascript無限循環不循環

function scroll(num) { 
    $("." + num + "").fadeOut('slow'); 
    var choose = num + 1; 
    $("." + choose + "").fadeIn('slow'); 
    setTimeout(function() { 
     scroll(choose); 
    }, 1000); 
} 

setTimeout(function() { 
    scroll('1'); 
}, 1000);​ 

它在第一次做功能但不繼續。

請幫忙!

回答

3

您正在使用一個既作爲字符串又作爲整數:調用scroll('1')意味着num + 1將按照您的預期返回"11",而不是2。試試這個:

function scroll(num) { 
    $("." + num.toString()).fadeOut('slow'); 
    var choose = num + 1; 
    $("." + choose.toString()).fadeIn('slow'); 
    setTimeout(function() { 
     scroll(choose); 
    }, 1000); 
} 

setTimeout(function() { 
    scroll(1); 
}, 1000);​ 
0

要添加1至字符串 「1」,導致 「11」。這是你的意思嗎?

0

這裏問題出在你的連接,使用+來連接在你的代碼中是不明確的。 在你的代碼var select = num + 1;將返回11作爲字符串不是2根據您的期望。