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("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";
    }
    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";
}

解决方案 »

  1.   

    不是都告诉你了  xxxxxx undefined(未定义)  断点打到那一行看下不就知道了   看下为什么没拿到东西
      

  2.   

    我也知道它告诉我了,我alert(slideIndex) 这个值是可以拿到的  就是slides[0].style.display = "block";取第一张图的时候为undefined
      

  3.   

    用Number()转一下呢
      

  4.   

    slideIndex和你的slides有什么关系?
      var slides = document.getElementsByClassName("mySlides");
    能取到值元素?
      

  5.   

      if (n > slides.length) {slideIndex = 1} slideInd改成0试试看