JSFiddle - React, Tailwind, and code Playground
by Alexander Startsev
HTML
<ul class="buttons">
<li><button>First</button></li>
<li><button>Second</button></li>
<li><button>Third</button></li>
<li><button>Fourth</button></li>
</ul>
<div class="layers">
<div class="active">One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
</div>
CSS
*{
margin: 0;
padding: 0;
}
body{
margin: 10px;
}
.buttons{
margin-bottom: 10px;
}
.buttons li{
list-style: none;
display: inline;
margin-right: 10px;
}
.buttons button{
padding: 5px;
}
.layers div{
display: none;
background: #00F;
color: #FFF;
padding: 10px;
font: 14px/20px normal Arial, sans-serif;
}
.layers .active{
display: block;
}
JavaScript
$(function(){
$(".buttons button").on("click", function(){
var layerIndex = $(this).parents("li").index();
if(!($(".layers div:eq("+layerIndex+")").hasClass("active"))){
$(".layers .active").slideToggle(100, function(){
$(this).removeClass("active");
$(".layers div:eq("+layerIndex+")")
.slideToggle(100)
.addClass("active");
});
}
});
})