2013-02-20 16 views
7

मुझे Uncaught SyntaxError: Unexpected identifier क्यों मिलता है यदि यह एक बार काम करता है?setInterval() - अप्रत्याशित पहचानकर्ता - लेकिन यह एक बार काम करता है

StackOverflow पर इनमें से एक समूह है। पंचलाइन आमतौर पर स्क्रिप्ट में एक टाइपो है।

यह एक बार काम करता है, तो यह एक त्रुटि संदेश एक सेकंड देता है।

यहाँ मैं एक नक्शे पर राज्यों के रंग बदल रहा हूँ:

<!-- 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); 

यह एक बार क्योंकि यह कार्यान्वित अपने भीतर-कोड एक समारोह या स्ट्रिंग की तलाश में वापस करने काम करता है। जब कोई नहीं होता है, तो यह एक जेएस त्रुटि के साथ विफल रहता है।

0

setInterval उद्धरण में parametres स्वीकार करते हैं:

<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> 
संबंधित मुद्दे