2012-10-19 76 views
-3

您可以看看下面的代碼,讓我知道爲什麼我無法運行程序嗎?JavaScript數組問題

enter code here 
$(document).ready(function() 
    { 
    var comp=new Array("AAPL","MSFT","XRTX&"); 
    var t = setInterval(function(){getPrice();},200);}); 
    function getPrice() { 
    for (var i=0;i<comp.length;i++){ 
    $.getJSON('https://finance.google.com/finance/info?client=ig&q='+comp[i]+'&callback=?', function(response){ 
    var stockInfo = response[0]; 
    var stockString = '<div id="stockprice">'; 
    stockString += 'Candente Copper: DNT $'+''+stockInfo.l+''; 
    stockString += '</div>'; 
    $('#stockprice').replaceWith(stockString); 
    $("#stockprice:contains('-')").addClass('red'); 
    $("#stockprice:contains('+')").addClass('green'); 
    }  
    }); 
    }​ 

請問我的Array對象或程序的其他部分有問題嗎?請注意,代碼可以正常工作,無需調用數組元素。

感謝

+1

請發表你的問題,而不是鏈接到它的代碼。 – Ralgha

+0

嗨Ralgha,這裏是代碼。我編輯鏈接 – user1760110

+2

@Ralgha在我看來,他應該發佈代碼的重要部分,並描述他嘗試過的東西,但仍然鏈接到jsfiddle!這絕對沒問題。 – Matthias

回答

1

{ S,} S,( S和),說自己是所有正確匹配。此外,爲了讓您的函數具有對comp變量的引用,它們必須位於相同的函數範圍內,在此情況下爲:$(document).ready(function(){ ... });。你會注意到我也將setInterval增加到2000(2s)。

EXAMPLE

$(document).ready(function() 
{ 
    var comp = new Array("AAPL","MSFT","XRTX&"); 
    var t = setInterval(function(){getPrice();},2000); 

    function getPrice() 
    { 
     for (var i=0;i<comp.length;i++){ 
     $.getJSON('https://finance.google.com/finance/info?client=ig&q='+comp[i]+'&callback=?', function(response){ 
     var stockInfo = response[0]; 
     var stockString = '<div id="stockprice">'; 
     stockString += 'Candente Copper: DNT $'+''+stockInfo.l+''; 
     stockString += '</div>'; 

     $('#stockprice').replaceWith(stockString); 
     $("#stockprice:contains('-')").addClass('red'); 
     $("#stockprice:contains('+')").addClass('green'); 
     }); 
     } 
    } 
});​ 
+0

謝謝蔡斯我現在有了這個想法,我希望有更多像你這樣的人在這裏是虎鉗人!誰可以將問題放在問題上! – user1760110

+0

我很高興我可以幫忙=) – Chase