我沒有什麼問題。我正在與一家公司的API合作。我要求參加活動,他們回報我一系列的活動。這是代碼的一部分。Javascript onclick顯示數組的最後一個元素與for循環
client.requestActivities(function(activities) {
if (activities.length > 0) {
for(i=0; i < activities.length; i++) {
var activity = activities[i];
activity.onStart(function() { alert(i+ " started"); });
activity.onCredit(function() { alert(i+ " credit"); });
activity.onClose(function() { alert(i+ " close"); });
activity.onFinish(function() { alert(i+ " finish"); });
$('.Game-Screen-Footer').append('<div class="Game-Screen-Footer-Adv" id="foota'+i+'"><a href="javascript:;" ><img src="'+activity.image_url+'" alt="'+activity.display_text+'" width="190" height="110"></a></div>');
document.getElementById('foota'+i+'').onclick = function() {
ARNO.box.show({html:'<div id="socialVibeFancyBox0"></div>', close: false, width:activity.window_width, height:activity.window_height, openjs:
function(){
client.loadActivityIntoContainer(activity, 'socialVibeFancyBox0');
}
});
}
}
}
晴,該功能給回陣列3層的元件。但是當我點擊第一個活動時,onStart它應該提醒我(0開始),但是它會提醒(4開始),這意味着它提醒我最後一個元素。我應該如何解決這個問題?我嘗試了很多東西,但我沒有找到解決方案,也許你可以幫助我?
@Kolnik:聽起來很有意思。你需要一個參考問答來詳細解釋這個*封閉問題*嗎? – hakre