Итак, у меня есть мобильное меню, всего 4 шарика. Есть большой шарик, который является активным, и 3 других в полукруге вокруг него.
Я не могу заставить работать две вещи. с помощью javascript я хочу установить активный класс для того, на который нажали, чтобы он, в свою очередь, превратился в большой пузырь, а первый возвращается в полукруг. Что по какой-то причине я не могу начать работать.
И с css позиционирование облажается, если я устанавливаю активный класс на какой-то другой. Я не могу заставить их работать .. Надеюсь, это имеет смысл ...
Codepen: https://codepen.io/andrelange91/pen/bGGvjvx
HTML
<nav class="navigation navigation--active">
<a class="navigation__item navigation__item--inactive">1</a>
<a class="navigation__item navigation__item--inactive">2</a>
<a class="navigation__item navigation__item--inactive">3</a>
<a class="navigation__item navigation__item--active">4</a>
</nav>
Css
.navigation{
position:fixed;
right:20px;
bottom:20px;
width:100px;
height:100px;
.navigation__item{
padding:10px;
background-color:green;
color:white;
border-radius:50%;
position:absolute;
&--active{
z-index:10;
}
}
&.navigation--active{
.navigation__item{
&--inactive{
&:nth-child(1){
background-color:purple;
right: 30px;
top: 0px;
}
&:nth-child(2){
background-color:blue;
left:10px;
top:20px;
}
&:nth-child(3){
background-color:black;
bottom:0;
left:10px;
}
}
&--active{
background-color:red;
padding:20px;
right:0;
bottom:0;
}
}
}
}
И, наконец, мой JavaScript
const elementsArray = document.getElementsByClassName("navigation__item");
for (var i = 0; i < elementsArray.length; i++) {
elementsArray[i].addEventListener("click", function(e){
console.log(i);
elementsArray[i].classList.remove("navigation__item--inactive");
elementsArray[i].classList.add("navigation__item--active");
});
}
Я просмотрел документацию для Eventlistener,и список классов, но я не могу заставить его работать ... А с CSS я не могу понять, как заставить его динамически позиционироваться.
Любая помощь руководства будет оценена ..