2012-06-15 177 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根据您的期望。