我使用的是来自WOW Slider (免费版本)的脚本,如下所示:
var slideIndex = 0;
function showSlides() {
var i;
slides = document.getElementsByClassName("mySlides");
dots = document.getElementsByClassName("dot");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex > slides.length) {slideIndex = 1}
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";
setTimeout(showSlides, 3000); // Change image every 2 seconds
}
showSlides();
它似乎工作正常,但是当我在页面上做SEO检查时,它显示行中有一个Javascript错误:
slides[slideIndex-1].style.display = "block";
具体的信息是:
“未捕获样式:无法读取未定义的属性‘TypeError’”。
这似乎是说slides
是未定义的,但它似乎是在变量声明中定义的。
我是一个Javascript的初学者,因此非常感谢大家对我的帮助。提前谢谢。
发布于 2017-10-04 00:05:47
如果有人感兴趣,我已经通过注释掉两行代码解决了这个问题。首先,我去掉了有问题的那行!当我检查所有样式表等时,没有标识为"MySlides“的类,所以我认为这就是生成错误消息的原因。在我删除了这一行错误信息之后,我引用了下一行,我也删除了它,然后,在没有错误生成的情况下,幻灯片仍然在各个方面都工作得很好!所以,也许这是最初的程序员无意中留下的两行冗余代码!我必须承认,我看不到它是如何工作的,但它确实是这样的!
发布于 2018-08-04 07:04:03
试一试
<body onload="showSlides()">
从JS上的第二行删除:showSlides()
https://stackoverflow.com/questions/46516529
复制相似问题