Я делаю имиджевую карусель, чтобы получить больше опыта.У меня есть галерея acf в фоновом режиме, где я добавляю свои изображения.
Вот код, который я использую здесь:
<div class="images">
<img id="carousel_images_top" src="" alt="">
<div class="top_button next">Next</div>
<div class="top_button prev">Prev</div>
</div>
<script>
var imageList = [];
<?php
$images = get_field('image_carousel');
foreach($images as $img) {
echo "imageList.push('" . $img['url'] . "');";
}
?>
var imageTag = document.querySelector('#carousel_images_top');
imageTag.src = imageList[0];
function next() {
console.log(imageTag.src)
var curIndex = imageList.indexOf(imageTag.src);
imageTag.src = imageList[(curIndex+1) % imageList.length];
};
function prev() {
console.log(imageTag.src)
var curIndex = imageList.indexOf(imageTag.src);
imageTag.src = imageList[(curIndex-1 + imageList.length) % imageList.length];
};
document.querySelector('.next').addEventListener('click', next);
document.querySelector('.prev').addEventListener('click', prev);
</script>
Я вижу первое изображение в массиве,и я могу вернуться к одному, чтобы увидеть последний, но я не могу вернуться больше, чем один, а затем снова перейти к первому.Я не получаю никаких ошибок, и я попытался выяснить, где находится ошибка, но в массиве перечислены все мои 6 изображений, и кнопки работают.
Я предполагаю, что тамошибка в переменной curIndex, но я не могу понять, что именно.Кто-нибудь, кто может быстро взглянуть и указать мне правильное направление?