2013-02-20 13 views
7

Uncaught SyntaxError: Unexpected identifierは一度動作すればどうしてですか?setInterval() - 予期しない識別子 - 一度しか動作しません

StackOverflowには多数のものがあります。パンチラインは通常、スクリプトのどこかでタイプミスです。

1回動作した後、1秒間に1つのエラーメッセージが表示されます。

ここで私は、地図上の状態の色を変えています:

<!-- language: lang-js --> 
<script type="text/javascript"> 
colors = [ 'rgba(255,0,0,0.1)','rgba(0,255,0,0.1)','rgba(0,0,255,0.1)' ]; 

$(document).ready(function(){ 

    setInterval(
     $("ul").children().eq(Math.floor(50*Math.random())).css('color', colors[Math.floor(3*Math.random())]) 
    ,1000); 

}); 
</script> 

答えて

17

あなたはあなたのコードをラップするfunction(){}が欠落しています。

setInterval(function(){ 
    $("ul").children().eq(Math.floor(50*Math.random())).css('color', colors[Math.floor(3*Math.random())]) 
},1000); 

返される関数または文字列を探している内部コードを実行するため、一度動作します。そうでないときは、jsエラーで失敗します。

0

は引用符でparametresを受け入れたsetInterval:

<script type="text/javascript"> 
colors = [ 'rgba(255,0,0,0.1)','rgba(0,255,0,0.1)','rgba(0,0,255,0.1)' ]; 

$(document).ready(function(){ 

    setInterval(
     '$("ul").children().eq(Math.floor(50*Math.random())).css("color", colors[Math.floor(3*Math.random())])' 
    ,1000); 

}); 
</script> 
関連する問題