Как сделать эту логику - PullRequest
       1

Как сделать эту логику

0 голосов
/ 09 ноября 2018

У меня проблема с этим упражнением enter image description here

Пока у меня есть коробки, но логика в javascript, я не знаю, как это сделать? Любой совет?

это мой прогресс:

enter image description here

Код действительно прост:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>David Aparicio</title>
</head>
<body>
    <div class="container">
        <div class="box active">
    </div>

    <div class="box">
    </div>

    <div class="box">
    </div>        
</div>
<div class="buttons">
    <button> Left </button>
    <button> Right </button>
</div>

1 Ответ

0 голосов
/ 09 ноября 2018

Вот мое мнение.

Сначала я добавил идентификаторы к вашим кнопкам, чтобы ссылаться на них.

<div class="buttons">
  <button id="left"> Left </button>
  <button id="right"> Right </button>
</div>

Тогда мой javascript выглядит так:

//Find all boxes and put them in an array
let boxes = document.querySelectorAll(".box");
let activeIndex = 0;

function changeActive() {
  //remove previous active class
  document.querySelector(".active").classList.remove("active");

  //find box at active index and add active class
  document.querySelectorAll(".box")[activeIndex].classList.add("active");
}

//Event listeners to increment and decrement the active index

document.getElementById("left").addEventListener("click", function() {
  if(activeIndex > 0) {
    activeIndex -= 1;
    changeActive();
  }
});

document.getElementById("right").addEventListener("click", function() {
  if(activeIndex < boxes.length -1) {
    activeIndex += 1;
    changeActive();
  } 
});

JSFiddle: https://jsfiddle.net/r6foyj1d/13/

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