#javascript #jquery #css #error-handling #typeerror
Вопрос:
Эти две строки Показывают ошибку типа для свойства css:
слайды[slideIndex — 1].стиль.дисплей = «блок»;
Слайды(slideIndex);
var slideIndex = 1;
showSlides(slideIndex);
// Next/previous controls
function plusSlides(n) {
showSlides(slideIndex = n);
}
// Thumbnail image controls
function currentSlide(n) {
showSlides(slideIndex = n);
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("projectSlides");
var dots = document.getElementsByClassName("demo");
var captionText = document.getElementById("caption");
if (n > slides.length) { slideIndex = 1 }
if (n < 1) { slideIndex = slides.length }
for (i = 0; i < slides.length; i ) {
slides[i].style.display = "none";
}
for (i = 0; i < dots.length; i ) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex - 1].style.display = "block";
dots[slideIndex - 1].className = " active";
captionText.innerHTML = dots[slideIndex - 1].a<
}
Ответ №1:
Вы получаете эту ошибку, потому slides
что она не определена в индексе slideindex - 1
. Итак, по сути, ошибка заключается в том, что слайдов в этой позиции не существует, и поскольку вы ищете элемент в позиции 0, это означает, что ваш массив пуст.