我有這段代碼從數據庫中獲取一些運動統計信息,並更新它們 - 我試圖在檢測到更改時發出警報(#scorealert div)。如果只有一個分數發生了變化,這可以正常工作。當有多個更改時,它顯示錯誤的名稱 - 它會一直顯示最後一個值,而不會更改名稱。Javascript計時/循環問題?
仍然是初學者與JavaScript/ajax和學習..請溫柔。
謝謝!
function getscores() {
$.post("/get_live_scores.php", {e: <?=$entryid;?>}, function(celldata) {
data = jQuery.parseJSON(celldata);
$.each(data, function(i,item) {
var pname = data[i].pname;
var cell = data[i].key;
var save_val = data[i].save_val;
var wins = data[i].wins;
var shutouts = data[i].shutouts;
var goals = data[i].goals;
var assists = data[i].assists;
var ht = data[i].ht;
var gwg = data[i].gwg;
if ($('td#'+cell+'_goals').text() < goals) {
$('div#scorealert').html('Goal by '+data[i].pname);
$('div#scorealert').animate({left: '0px'});
$('div#scorealert').delay(4000).animate({left: '-300px'});
}
updatecell(pname, cell, save_val, wins, shutouts, goals, assists, ht, gwg);
});
updatetotal();
});
}
您可能希望'var data ='(注意'var')將其保留在全局名稱空間之外。 –
也許檢查結果是否按照正確的順序進行?我看不出有什麼不對的地方跳出來...... – nickf
另外,'pname'是唯一不*更新的字段? –