我的网站有一个简单的滑动转盘,它可以正常工作,但SEOptimer评估报告说:
"无法在showSlides中读取未定义的属性'className'(http://www.abacus-arts.org.uk/:78:8)">
第78行在下面的末尾附近,上面写着:dots[slideIndex-1].className += " active";
我可以安全地忽略SEOptimer问题报告吗?或者你可以帮助我修复它吗?
<div>
<!-- code for slides 1 to 4 removed, below are slides 5 and 6 in the carousell -->
<div class="mySlides">
<div class="picnumber"> 5 / 6</div> <img src="Pic-5-DM.jpg" alt="Pic5" style="width:100%";>
<div class="pictitle"> Breakout room LHS view </div> </div>
<div class="mySlides">
<div class="picnumber"> 6 / 6</div> <img src="Pic-6-GW.jpg" alt="Pic6" style="width:100%";>
<div class="pictitle"> Street view of entrance </div> </div>
<!-- Back and forward buttons jump to the Java Script lower down -->
<a class="prev" onclick="plusSlides(-1)"> <</a>
<a class="next" onclick="plusSlides(1)"> ></a>
</div>
<!-- from https://www.w3schools.com/howto/howto_js_slideshow_gallery.asp -->
<script>
var slideIndex = 1;
showSlides(slideIndex);
function plusSlides(n) { showSlides(slideIndex += n); }
function currentSlide(n) { showSlides(slideIndex = n); }
function showSlides(n) { var i;
var slides = document.getElementsByClassName("mySlides");
// 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].alt;
}
</script>
更新。通过删除未使用变量的行来解决,如//所示。
@phuzi感谢大家鼓励我搜索未使用的变量,我在开发HTML时发现我已经停止使用"demo、dots和字幕文本";当这些代码行被排除在外时,问题就消失了
非常感谢。格雷姆。
var dots = document.getElementsByClassName("demo");
存在null,这意味着-我找不到任何名称为"的类;demo";检查html部件代码