Javascript 节点列表返回未定义?函数在window.onload中

Javascript 节点列表返回未定义?函数在window.onload中,javascript,Javascript,因此,我目前正在构建一个旋转木马(源于W3Schools的代码) 功能演示幻灯片(n){ var i; var slides=document.getElementsByClassName(“幻灯片”); var dots=document.getElementsByClassName(“dot”); 如果(n>幻灯片长度){ slideIndex=1; } 如果(n

因此,我目前正在构建一个旋转木马(源于W3Schools的代码)

功能演示幻灯片(n){
var i;
var slides=document.getElementsByClassName(“幻灯片”);
var dots=document.getElementsByClassName(“dot”);
如果(n>幻灯片长度){
slideIndex=1;
}
如果(n<1){slideIndex=slides.length}
对于(i=0;i

此代码位于window.onload函数中。幻灯片可以正常播放,但由于某些原因,每当我尝试console.log dots或slides时,其返回未定义。幻灯片放映有效,这意味着for循环能够更改幻灯片和点节点列表的显示和类名。我是做错了什么,还是遗漏了什么?

您在哪里使用console.log?将我使用carousel W3School测试的完整代码放在错误的位置,当我编写
console.log(幻灯片)
或使用圆点时,它会向我显示数据。看起来效果不错,您可以编写JSFIDLE吗?您在哪里使用console.log?将我使用carousel W3School测试的完整代码放在错误的位置,当我编写
console.log(slides)
或使用圆点时,它会向我显示数据。看起来效果不错,您可以编写JSFIDLE吗?
function showSlides(n) {
    var i;
    var slides = document.getElementsByClassName("slide");
    var dots = document.getElementsByClassName("dot");


    if (n > slides.length) {
        slideIndex = 1;
      }
    if (n < 1) {slideIndex = slides.length}

    for (i = 0; i < slides.length; i++) {
        slides[i].style.display = "none";
        dots[i].className = dots[i].className.replace(" active", "");

    }

    slides[slideIndex-1].style.display = "block";
    dots[slideIndex-1].className += " active";
    changeShoeContent(slideIndex-1);
  }