所以我有一个移动菜单,共有4个气泡。 有一个大泡泡是活跃的,而另外三个则是半圆的。
我无法完成两件事。 使用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和classlist的文档,但是我无法使其正常工作……而使用CSS,我无法弄清楚如何使其动态定位。
任何指导帮助都将不胜感激。