Привет и извинения, если мой вопрос неясен из-за отсутствия моих javascript знаний. Я самоучка php: er и решила попробовать javascript с подходом php. Итак, вот моя проблема:
Я хочу сделать слайд-шоу из фотографий, которые:
1) имеют кнопки для go next / prev pi c, ( работает)
2) автоматически меняет изображение каждые X секунд, (работает)
3) прекращает автоматическое изменение изображений после предварительного просмотра всей серии изображений (работает)
4) прекращает автоматическое изменение изображений, если нажата следующая / предыдущая кнопка. (не работает)
1 - 3 Мне удалось выяснить. Но по причинам вне моего понимания c я не могу сделать # 4! Я попытался установить переменную "lap" , если установлена переменная "n" . То, что я думал, означало, что если была нажата кнопка «следующий / предыдущий», то будет установлен круг , а коды javascript не будут читать строку, которая settimeout showSlides. Это не сработало, сколько бы я ни пробовал! Не могли бы вы мне помочь? Вот мои коды:
CSS ниже
/* Slideshow container */
.slideshow-container {
position: relative;
margin: auto;
}
/* Next & previous buttons */
.prev, .next {
cursor: pointer;
position: absolute;
width: auto;
padding: 16px;
margin-top: -22px;
color: #595959;
font-weight: normal;
font-size: 38px;
transition: 0.6s ease;
user-select: none;
}
/* Position the "next button" to the right */
.next {
top:50px;
right: 0;
}
.prev {
top:50px;
left: 0;
}
HTML ниже
<td class='slideshow-container' valign='top' style='width:50%;padding:3%;text-align:center;'>
<center>
<div class='mySlides fade' style='position:relative;'>
<img src='forsig.JPG' style='width:90%'>
</div>
<div class='mySlides fade' style='position:relative;'>
<img src='grundblocket.JPG' style='width:90%'>
</div>
<div class='mySlides fade' style='position:relative;'>
<img src='kajaky.JPG' style='width:90%'>
</div>
<div class='mySlides fade' style='position:relative;'>
<img src='Rescueshot1.jpg' style='width:90%'>
</div>
<div class='mySlides fade' style='position:relative;'>
<img src='rescueshot2.jpg' style='width:90%'>
</div>
<div class='mySlides fade' style='position:relative;'>
<img src='skoretc.JPG' style='width:90%'>
</div>
echo "</center>
<a class='prev' onclick='plusSlides(-1)'>❮</a>
<a class='next' onclick='plusSlides(1)'>❯</a>
</td>
Javascript ниже:
<script>
var slideIndex = 0;
showSlides();
function plusSlides(n) {
showSlides(slideIndex += n);
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("mySlides");
if (n > slides.length) {slideIndex = 1}
if (n < 1) {slideIndex = slides.length}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
if (typeof n == 'undefined') {slideIndex++;}
if (slideIndex > slides.length) {slideIndex = 1}
if (slideIndex == slides.length) {var lap = "ye"}
slides[slideIndex-1].style.display = "block";
if (typeof lap == 'undefined') {
if (typeof n == 'undefined') {setTimeout(showSlides, 5000);}
}
}
</script>