Почему перебор элементов не работает по кругу
Суть такая. Просто жму на кнопку "next", запускается цикл, цикл перебирает элементы. Если находит элемент с z-index равным 10, то у самого элемента меняет его на 0, а у следующего за ним ставит z-index равным 10. То есть просто банальная переключалка друг за другом. Но почему не получается по кругу, то есть когда доходит до последнего элемента (и если у него z - index равен 10) то у себя ставит 1, а у первого 10) что бы заново запустить круг. Мой код работает до последнего а дальше ошибка, подскажите почему?
https://jsfiddle.net/3shy5epq/2/ |
Sinevik,
не проверяйте стиль, вам нужен индекс !!! его и меняйте без всяких for и if. 3 строка var index = 0; |
как устроены слайдеры (бесконечный цикл в обе стороны)
Sinevik,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
article{
position: absolute;
height: 100px;
width: 100px;
background-color: #FFFFFF;
}
div {
position: relative;
}
</style>
</head>
<body>
<input name="" type="button" value="prev" onclick="prev()"> <input name="" type="button" value="next" onclick="next()">
<div>
<article style="z-index: 10">1</article>
<article>2</article>
<article>3</article>
<article>4</article>
<article>5</article>
</div>
<script>
var slider = document.getElementsByTagName("article");
var index = 0;
function next()
{
slider[index].style.zIndex = 1;
index = ++index % slider.length;
slider[index].style.zIndex = 10;
}
function prev()
{
slider[index].style.zIndex = 1;
--index < 0 && (index = slider.length - 1);
slider[index].style.zIndex = 10;
}
</script>
</body>
</html>
|
Почему я не могу добаить +? пишет
"Вы должны добавить отзыв кому то еще?" |
Защита от накруток
|
| Часовой пояс GMT +3, время: 06:02. |