У меня есть такой код js:

 lightGallery($("#web1")[0], {
    selector: 'this',
    mobileSettings: {
        controls: false,
        showCloseIcon: true,
        download: false,
    }
});
lightGallery($("#web2")[0], {
    selector: 'this',
    mobileSettings: {
        controls: false,
        showCloseIcon: true,
        download: true,
    }
});
lightGallery($("#web3")[0], {
    selector: 'this',
    mobileSettings: {
        controls: false,
        showCloseIcon: true,
        download: true,
    }
});

Как оптимизировать код, чтобы мне не приходилось каждый раз писать новое число?

0
mrOwl 7 Окт 2021 в 23:30

2 ответа

Лучший ответ

Учтите следующее.

$("[id^='web']").each(function(i, el){
  lightGallery($(el)[0], {
    selector: 'this',
    mobileSettings: {
      controls: false,
      showCloseIcon: true,
      download: false,
    }
  });
});

Это будет проходить по каждому из них, у которого есть идентификатор, начинающийся с web, и применять тот же код.

0
Twisty 7 Окт 2021 в 20:36

Вы можете использовать цикл for:

let lowerLimit = 1;
let upperLimit = 3;

for (let i = lowerLimit; i <= uppperLimit; i++) {
    lightGallery($("#web" + i)[0], {
        selector: 'this',
        mobileSettings: {
            controls: false,
            showCloseIcon: true,
            download: false,
        }
    });
}
0
Spectric 7 Окт 2021 в 20:35