#javascript #json #slider #carousel #glidejs
#javascript #json #слайдер #карусель #glidejs
Вопрос:
Я пытаюсь динамически добавлять содержимое в слайдер из JSON.
import Glide from '@glidejs/glide';
function slider() {
let ul = document.querySelector('.glide__slides');
let card = '';
var glide = new Glide('.glide').destroy();
const photo = import('../metadata/photos.json').then((module) => {
const data = module.default;
data.forEach((photo) => {
console.log(photo);
card = `<li class="glide__slide"><img src="${photo.thumbnailUrl}" alt="${photo.title}">${photo.id}</li>`;
});
ul.innerHTML = card;
});
glide.mount();
}
slider();
Кажется, что содержимое загружается, но ползунок не работает
Ответ №1:
Это происходит потому, что glide.mount();
выполняется до завершения импорта и генерации HTML.
Итак, вам нужно импортировать данные и добавить их then
call glide.mount();
.
import Glide from '@glidejs/glide';
function slider() {
let ul = document.querySelector('.glide__slides');
let card = '';
var glide = new Glide('.glide').destroy();
const photo = import('../metadata/photos.json').then((module) => {
const data = module.default;
data.forEach((photo) => {
console.log(photo);
card = `<li class="glide__slide"><img src="${photo.thumbnailUrl}" alt="${photo.title}">${photo.id}</li>`;
});
ul.innerHTML = card;
}).then(() => glide.mount());
}
slider();
Комментарии:
1. Спасибо за вашу помощь