У меня есть слайдер с .images class , а также previous- и next-button .
Я определил цвета в JavaScript следующим образом:
let colors = ['red', 'green',];
В настоящее время, когда я нажимаю следующую кнопку, отображается красный цвет.(Функция ниже).
function nextSlide() {
container.style.backgroundColor = colors[0];
Я хотел бы выполнить следующее: Когда вы нажимаете следующую кнопку, она всегда будет отображать следующий цвет из массива let colors (или любой другой способ определения цветов).называется).Наоборот, когда вы нажимаете предыдущую кнопку, ползунок должен показывать предыдущий цвет из массива .
Вы можете найти полный исходный код ниже.
const nextBtn = document.querySelector('.nextBtn');
const prevBtn = document.querySelector('.prevBtn');
const container = document.querySelector('.images');
let colors = ['red', 'blue',];
nextBtn.addEventListener('click', nextSlide);
prevBtn.addEventListener('click', prevSlide);
function nextSlide() {
container.style.backgroundColor = colors[0];
}
function prevSlide() {
container.style.backgroundColor = colors[1];
}
body {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background-color: lightblue;
}
.images {
background-color: #4047c9;
flex: 0 0 80%;
min-height: 70vh;
border-radius: 10px;
position: relative;
}
.btn {
display: inline-block;
background: white;
color: black;
padding: 10px;
border: none;
cursor: pointer;
}
.prevBtn {
position: absolute;
top: 50%;
left: 0;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}
.nextBtn {
position: absolute;
top: 50%;
right: 0;
transform: translate(50%, -50%);
-webkit-transform: translate(50%, -50%);
-moz-transform: translate(50%, -50%);
-ms-transform: translate(50%, -50%);
}
.btn:active {
background-color: grey;
color: white;
}
.btn:hover {
background-color: grey;
color: white;
}
<div class="images">
<button type="button" class="btn prevBtn">Prev Btn</button>
<button type="button" class="btn nextBtn">Next Btn</button>
</div>