JSFiddle - React, Tailwind, and code Playground
HTML
<div class="main-toggle">
<div class="sub-toggle">
<span class="test">test</span>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
<div class="none">
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
<span class="test2">test</span>
</div>
</div>
<div class="sub-toggle">
<span class="test">test</span>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
<div class="none">
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
<span class="test2">test</span>
</div>
</div>
<div class="sub-toggle">
<span class="test">test</span>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf <br>
jagsfdajsghfdasjgdf...
CSS
.main-toggle{width: 100%; background-color:gray;float: left; }
.sub-toggle{width: 130px; min-height: 225px; float: left;background-color: green;margin:10px;}
.none{display: block;}
.test{float: left;cursor: pointer;color: red;}
.test2{float: left;cursor: pointer;color: red;}
JavaScript
function getContentHeight(){
var maxH = 0;
$(".sub-toggle").each(function(index, elem){
var h = $(elem).height();
( h > maxH ) && ( maxH = h );
});
$(".none").css("display","none");
return maxH;
}
$(document).ready(function(){
var contentHeight = getContentHeight();
$(".test").click(function(){
$(".none").slideToggle(500);
$(".sub-toggle").animate({height:contentHeight},500);
$(".test").css('display','none');
});
$(".test2").click(function(){
$(".none").css('display','none');
$(".sub-toggle").animate({height:300},500);
$(".test").css('display','block');
})
});