Saturday 15 May 2010

Performance issue with javascript loop -



Performance issue with javascript loop -

i have next code snippet, looping on object around 5000 google markers in it. changing visibility of markers in loop.

var no_of_levels = 4; (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){ (var i=0; < 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){ (var i=0; < obj.all_level_markers[lvl].length ; i++){ if (obj.all_level_markers[lvl][i].getvisible()){ obj.all_level_markers[lvl][i].setvisible(false); } } } } }

in ie8 browser stops execution. gives stop script error. has improve solution replace loop or other way?

better utilize break , go on create loop bit shorter. can seek here solution.

javascript

No comments:

Post a Comment