предложения по оптимизации моего jquery

0

Вместо того, чтобы писать такие строки снова и снова, какой должен быть профессиональный способ и оптимизированный способ написать этот же код? Пожалуйста помоги

$(function(){

$('<img src="map/map_slice_1.jpg"/>').appendTo('#map_slice_1');
$('<img src="map/map_slice_2.jpg"/>').appendTo('#map_slice_2');
$('<img src="map/map_slice_3.jpg"/>').appendTo('#map_slice_3');
$('<img src="map/map_slice_4.jpg"/>').appendTo('#map_slice_4');
$('<img src="map/map_slice_5.jpg"/>').appendTo('#map_slice_5');
$('<img src="map/map_slice_6.jpg"/>').appendTo('#map_slice_6');
$('<img src="map/map_slice_7.jpg"/>').appendTo('#map_slice_7');
$('<img src="map/map_slice_8.jpg"/>').appendTo('#map_slice_8');             

});

4 ответа

0
Лучший ответ

Я бы сделал что-то вроде этого:

$(function () {
    var i = 0; 
    while (i++ < 8) {
        $('#map_slice_' + i).append(
            '<img src="map/map_slice_' + i + '.jpg"/>'
        );
    }
});
2
$('[id^="map_slice_"]').append(function() { 

  return $('<img />', {src: 'map/' + this.id + '.jpg'});

});

Попробуйте Fiddle

  • 1
    Вам не нужна карта!
  • 0
    $('[id^="map_slice_"]').append(function() { return $('<img />', {src: 'map/' + this.id + '.jpg'}); });
Показать ещё 4 комментария
0

Для оптимизации не уверены, но для ремонтопригодности и количества строк:

for(var i=1; i<=8 i++) {
  $('<img src="map/map_slice_'+i+'.jpg"/>').appendTo('#map_slice_'+i);
}

Можно найти лучшие пути для достижения этого. Знание контекста могло бы помочь.

0

пытаться

$(function(){
  for (var i=0; i<8; i++)
  {
     $('<img src="map/map_slice_" + i + ".jpg"/>').appendTo('#map_slice_' + i);
  }   

});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню