このコードをどのように改善できるか疑問に思っています。ナビゲーションには 3 つのメニュー ボタンがあります。最初のものはデフォルトでアクティブです。クリックすると、クラスがアクティブな状態で他のボタンが割り当てられます。
<div class="mobile-nav">
<ul>
<li><input class="mobile-nav-tab active" id="search-tab" type="button"/></li>
<li><input class="mobile-nav-tab" id="menu-tab" type="button"/></li>
<li><input class="mobile-nav-tab" id="members-tab" type="button"/></li>
</ul>
</div>
これらのボタンのそれぞれは、特定の div を表示し、他のものを非表示にします。
<div class="mobile-nav-content">
<div id="search">
</div>
<div style="display:none" id="menu">
<br>menu
<br>menu
</div>
<div style="display:none" id="members">
<br>members
<br>members
</div>
</div>
私はこのコードを持っており、正常に動作しています。
$(document).ready(function(){
$('.mobile-nav-tab').click(function(){
$('.mobile-nav-tab').removeClass('active');
$(this).addClass('active');
if ($('#search-tab').hasClass('active')){
$('#search').slideDown();
}
else{
$('#search').hide();
}
if ($('#menu-tab').hasClass('active')){
$('#menu').slideDown();
}
else{
$('#menu').hide();
}
if ($('#members-tab').hasClass('active')){
$('#members').slideDown();
}
else{
$('#members').hide();
}
});
});
if-else 部分を三項演算子で省略できることがわかりました。しかし、それを改善して短くする他の方法があるのだろうか?