@Nikola24

Функция запускается после выполнения цикла?

Почему то функция запускается после выполнения цикла, и в итоге получается что класс присваивается не каждому элементу, а только 79'ому. Или я неправильно написал функцию присваивания класса

for(var i=0;i<79;i++){
    long = (long + 1.26);
    var image = new AmCharts.MapImage();
    image.type = "rectangle";
    image.latitude = lat;
    image.longitude = long;
    image.width = 7;
    image.height = 7;
    image.fixedSize = 0;
    image.bringForwardOnHover = false;
    image.color = "#"+ i+ i+ i+ i+ i+ i;
    $(function() {
      $('svg g:nth-child(8) > g > g:nth-child(2) > g:nth-child(' + i + ')').addClass('picture' + i);
    });
    map.dataProvider.images.push( image );
    map.validateData();
  }
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 2
Убрать конструкцию
$(function() {});
Подобным образом вы откладываете выполнение кода до полной загрузки DOM, а на этот момент i уже равен 79.
Ответ написан
@Tsimur_S
$(function(){}) это сокращенный способ записи для $( document ).ready(function() {}). Уберите эту обертку или добавьте ещё одну прослойку с немедленно вызывающейся функцией / используйте forEach .
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы