我在我的网站上有3个标签和div,在一个垂直的手风琴式导航中。
当我点击一个标签时,标签会将类别更改为“打开”,出现在我的页面上,或消失。
当我点击第二个或第三个选项卡时,所有之前的选项卡都会使用prevAll功能将类别更改为“打开”。
我的问题是,当我所有的标签页都打开时,当我点击第一个标签页(黄色的那个)时,我希望我之前的所有标签页都删除“打开”类,以防止黄色标签页滑到其他标签页下。其他选项卡也一样。
类似于这个例子:
https://violaineetjeremy.fr/
我找不到做tab的方法。。。也许用旗子?
这是我的html:
<div id="spot" class="tab">
<div class="tab_title">
</div>
</div>
<div id="rencontres" class="tab">
<div class="tab_title">
</div>
</div>
<div id="shop" class="tab">
<div class="tab_title">
</div>
</div>
我的CSS:
.tab {
min-height: 100vh;
position: fixed;
width: calc(100vw - 80px);
background-color: rgba(255, 255, 255, 1);
-webkit-transition: right 0.3s ease-in-out;
-moz-transition: right 0.3s ease-in-out;
-o-transition: right 0.3s ease-in-out;
transition: right 0.3s ease-in-out;
}
.tab_title {
height: 100vh;
width: 40px;
z-index: 10;
position: absolute;
border-left: 4px solid;
}
#spot {
right: calc(-100vw + 200px);
background-color:yellow;
}
#rencontres {
right: calc(-100vw + 160px);
background-color:red;
}
#shop {
right: calc(-100vw + 120px);
background-color:blue;
}
#spot.open {
right: 80px;
}
#rencontres.open {
right: 40px;
}
#shop.open {
right: 0px;
}
还有我的Jquery
$(".tab:not(.open)").click(function(){
var $this = $(this);
$this.toggleClass("open");
$this.prevAll(".tab").addClass("open");
});
下面是一个JSFIDLE:
https://jsfiddle.net/1eu2vsd8/