не SetTimeout работает как задумано с CSS
var myIndex = 0;
var lastIndex = null;
var slides;
window.onload = function()
{
slides = document.getElementsByClassName("mySlides");
slidePictures();
}
function slidePictures() {
slides[myIndex].style.display = "block";
slides[myIndex].className += " fadeIn";
console.log(slides[myIndex]);
setTimeout(function()
{
slides[myIndex].className = "mySlides";
console.log(slides[myIndex]);
setTimeout(function()
{
slides[myIndex].style.display = "none";
console.log("display none");
}, 1000);
}, 2000);
lastIndex = myIndex;
myIndex++;
if (myIndex >= 3)
return;
setTimeout(slidePictures, 4000);
}
.slidesDiv>img {
width: 80%;
height: 80%;
margin-left: 10%;
opacity: 0;
transition: opacity 1s;
}
.fadeIn {
opacity: 1 !important;
transition: opacity 1s;
}
<div class="slidesDiv">
<img class="mySlides" src="//placehold.it/200x80/0fb">
<img class="mySlides" src="//placehold.it/200x80/0bf">
<img class="mySlides" src="//placehold.it/200x80/fb0">
<img class="mySlides" src="//placehold.it/200x80/0fb">
<h1 id="indicator"> Indicator </h1>
</div>
Так что мой вопрос заключается в том, что изображение исчезает в первый раз, но не исчезать после этого, и не исчезнет?
Это определенно проблема с функциями setTimeout
, и мне интересно, что я делаю/предполагаю неправильно.
Да, это было то, что я хотел. Лучше всего удалить другой ответ и поместить его внизу внизу :) –