【发布时间】:2017-05-15 06:19:02
【问题描述】:
for (var p = 0; p < tokiyoPoints.length; p++) { //for loop
var tpoint = new google.maps.Marker({ //MAP MARKER
map: map, //MAP BY ID
//MARKER DROP
animation: google.maps.Animation.DROP,
venue: tokiyoPoints[p].pointId, //FOR LIKES AND RATING
title: tokiyoPoints[p].pointName, //TITLE OF POINT
show: ko.observable(true), //SHOW POINT
selected: ko.observable(false), //SELECT POINT
position: { //POINT POSITION
lat: tokiyoPoints[p].pointLat,
lng: tokiyoPoints[p].pointLng
}
});
tokiyo.push(tpoint); //ADD POINT AT THE END
tpoint.addListener('click', function() {
//CLICK ON THE POINTER
pointerInfo(this, tokyoInfo);
});
tpoint.addListener('click', function() {
//CLICK ON THE POINTER
BOUNCE(this);
});
tpoint.addListener('mouseover', function() {
//MOSEOVER ON POINT
this.setIcon(nIcon);
});
tpoint.addListener('mouseout', function() {
//MOUSEOUT FROM THE POINTER
this.setIcon(uIcon);
});
}
它给出了错误-
不要在循环js中创建函数
【问题讨论】:
-
这可能是一个错误,但代码应该没问题......在for循环之外将函数声明为命名函数,或者使用
tokiyoPoints.forEach来避免这个问题 -
Jaromanda X 你能给我一个详细的解决方案而不是这个吗?
-
确实如此。我发表评论是因为你不相信有多少人只需要模糊地向他们描述解决方案才能自己解决问题 - 我会发布一个答案,但这是由期望值较低的人完成的
-
@JaromandaX 抱歉,如果答案不是针对此问题的正确操作。我只是觉得最好解释一下。如有遗漏,请指出。如果你想回答,我会删除我的,因为复制对任何人都没有帮助。我也在
lower expectation上失去了你。 -
@Rajesh - 很好,你的回答完全正确,我的评论不是针对你的 -
lower expectation根本不是对任何人的侮辱 - 我发布了第一条评论因为有些人只要轻推一下就会自己弄清楚
标签: javascript