循环出错

qq_20610429 2015-05-26 06:40:10
//运行代码

for (var i = 0; i < 3; i++) {
......
google.maps.event.addListener(marker[i], 'click', function() {
alert(i);
infowindow[i].open(map,marker[i]);
});
......
}

//预计效果 //alert 弹出 1,2,3

google.maps.event.addListener(marker[1], 'click', function() {
alert(1);
infowindow[1].open(map,marker[1]);

google.maps.event.addListener(marker[2], 'click', function() {
alert(2);
infowindow[2].open(map,marker[2]);

google.maps.event.addListener(marker[3], 'click', function() {
alert(3);
infowindow[3].open(map,marker[3]);

//实际效果 //alert 弹出 3,3,3

google.maps.event.addListener(marker[i], 'click', function() {
alert(i);
infowindow[i].open(map,marker[i]);
});
//上面是一个点击事件,加载页面的时候,循环好像没有执行,等到触发这个事件的时候才执行这个循环.
触发一次事件,alert弹出3次3,i值从进去就是3了
...全文
134 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
slwsss 2015-05-26
  • 打赏
  • 举报
回复
for (var i = 0; i < 3; i++) { ...... (function(i){ google.maps.event.addListener(marker[i], 'click', function() { alert(i); infowindow[i].open(map,marker[i]); }); })(i) ...... }

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧