Добавить кнопку воспроизведения / паузы к слайдеру изображения - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь добавить кнопку воспроизведения и паузы в мою программу просмотра изображений.У меня хорошо работают кнопки «Вперед» и «Предыдущая», но мне бы понравилась кнопка «Воспроизведение и пауза», встроенная в мой JavaScript.

Может кто-нибудь помочь, пожалуйста?

Вот рабочая демоверсия по ссылке Демо

Сценарий:

<div class="w3-container">

</div>

<div class="w3-content" style="max-width:800px">
<img class="mySlides" src="http://www.chorleyweather.com/forecast-charts/ecmwfcharts/na500hpa_1.png" style="width:95%"></li>
<img class="mySlides" src="http://www.chorleyweather.com/forecast-charts/ecmwfcharts/na500hpa_2.png" style="width:95%"></li>


</div>


  <div class="w3-section">
    <button class="w3-btn" onclick="plusDivs(-1)"><h6> Prev Image<h6/></button>
    <button class="w3-btn" onclick="plusDivs(1)"><h6>Next Image<h6/> </button><h6/>
  </div>
</div>




<script>
var slideIndex = 1;
showDivs(slideIndex);

function plusDivs(n) {
  showDivs(slideIndex += n);
}

function currentDiv(n) {
  showDivs(slideIndex = n);
}

function showDivs(n) {
  var i;
  var x = document.getElementsByClassName("mySlides");
  var dots = document.getElementsByClassName("demo");
  if (n > x.length) {slideIndex = 1}
  if (n < 1) {slideIndex = x.length}
  for (i = 0; i < x.length; i++) {
     x[i].style.display = "none";
  }
  for (i = 0; i < dots.length; i++) {
     dots[i].className = dots[i].className.replace(" w3-red", "");
  }
  x[slideIndex-1].style.display = "block";
  dots[slideIndex-1].className += " w3-red";
}

window.onload = function() {
    var image = document.getElementById("img");

    function updateImage() {
        image.src = image.src.split("?")[0] + "?" + new Date().getTime();
    }

    setInterval(updateImage, 1000);
}
</script>

1 Ответ

0 голосов
/ 24 мая 2018

Можно было бы использовать логическое значение, определяющее, должно ли оно воспроизводиться или нет, и кнопку, которая изменяет значение этого логического значения.

кнопка:

<button id="playpause"></button>

обновлено window.onload = функция

window.onload = function() {
    var image = document.getElementById("img");

    var playing = true;

    function updateImage() {
        if (playing) {
            image.src = image.src.split("?")[0] + "?" + new Date().getTime();
        }
    }

    var playpause = document.getElementById("playpause");
    playpause.onclick = function() {
        if (playing) {
            playing = false;
        } else {
            playng = true;
        }
    };


    setInterval(updateImage, 1000);
}

Не пробовал, но это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...