Изображение не отображается при использовании внешнего JavaScript - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь реализовать галерею изображений, взятую из w3schools (https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_slideshow_gallery). Однако, когда я пытаюсь внешне связать javascript, первое изображение не появляется. Я не очень хорош в javascript, поэтомуУ меня проблемы с исправлением. Вот мой код во внешнем файле.

    document.addEventListener("DOMContentLoaded", function() {
       showSlides(slideIndex);
    });
    var slideIndex = 1;
    function plusSlides(n) {
      showSlides(slideIndex += n);
    }
    
    function currentSlide(n) {
      showSlides(slideIndex = n);
    }
    
    function showSlides(n) {
      var i;
      var slides = document.getElementsByClassName("g-image-wrapper");
      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;
    }
    <div class="container">
      <div class="mySlides">
        <div class="numbertext">1 / 6</div>
          <img src="img_woods_wide.jpg" style="width:100%">
      </div>
      <div class="mySlides">
        <div class="numbertext">2 / 6</div>
          <img src="img_5terre_wide.jpg" style="width:100%">
      </div>
      <div class="mySlides">
        <div class="numbertext">3 / 6</div>
          <img src="img_mountains_wide.jpg" style="width:100%">
      </div>
      <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
      <a class="next" onclick="plusSlides(1)">&#10095;</a>
      <div class="caption-container">
        <p id="caption"></p>
      </div>
      <div class="row">
        <div class="column">
          <img class="demo cursor" src="img_woods.jpg" style="width:100%" onclick="currentSlide(1)" alt="The Woods">
        </div>
        <div class="column"> 
          <img class="demo cursor" src="img_5terre.jpg" style="width:100%" onclick="currentSlide(2)" alt="Cinque Terre">
        </div>
      </div>
    </div>
...