【发布时间】:2014-11-10 07:29:00
【问题描述】:
我有以下代码 sn-p,循环遍历一个包含大约 5000 个谷歌标记的对象。我正在更改循环中标记的可见性。
var no_of_levels = 4;
for (j=1; j <= no_of_levels ; j++){
if (j == lvl_no){
var lvl = 'level'+lvl_no;
var visible_level_markers = new Array();
if (lvl_no == 4){
visible_level_markers = search_flag ? search_visible_markers['region']: map_sel_regions;
}else if (lvl_no == 3){
visible_level_markers = search_flag ? search_visible_markers['sub']: map_sel_subregions;
}else if (lvl_no == 2){
visible_level_markers = search_flag ? search_visible_markers['switches']: map_sel_switches;
}
if (obj.all_level_markers[lvl] != null || obj.all_level_markers[lvl] != undefined){
for (var i=0; i < obj.all_level_markers[lvl].length ; i++){
if (!obj.all_level_markers[lvl][i].getVisible()){
var marker_name = obj.all_level_markers[lvl][i].customInfo.split(" : ")[1];
if (lvl_no != 1 && $.inArray(marker_name, visible_level_markers) < 0) {continue;}
obj.all_level_markers[lvl][i].setVisible(true);
}
}
}
}
else{
var lvl = 'level'+j;
if (obj.all_level_markers[lvl] != null || obj.all_level_markers[lvl] != undefined){
for (var i=0; i < obj.all_level_markers[lvl].length ; i++){
if (obj.all_level_markers[lvl][i].getVisible()){
obj.all_level_markers[lvl][i].setVisible(false);
}
}
}
}
}
在 IE8 中,浏览器只是停止执行。给出停止脚本错误。 任何人都有更好的解决方案来替换循环或其他方式?
【问题讨论】:
标签: javascript