Строка, на которую ссылается ошибка, предполагает, что в slides
будет хотя бы один слайд, но слайдов не может быть вообще, и, по-видимому, при вызове вашей функции слайдов не будет.
Вы можете выйти из функции раньше, если нет слайдов:
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("mySlides");
if (!slides.length) { // ***
return; // ***
} // ***
if (n > slides.length) {
slideIndex = 1
}
if (n < 1) {
slideIndex = slides.length
}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slides[slideIndex-1].style.display = "block";
}
Что касается почему нет слайдов, я предполагаю, что вы используете это код слишком рано. См. Ответы на этот вопрос , чтобы узнать о причинах, по которым вы можете не видеть никаких совпадающих элементов.