2
ユーザーがボタン(.header_hamburger
)をクリックすると、次のjQueryコードでクラスを追加したり削除したりすることができます私は、ユーザーがクリックするとトグルしようとしているサイドメニュー(私の場合)が消えるように、私の動作を逆転させて(クラスを削除して1つだけ追加する)問題を抱えています。jQueryがクラスを追加していますが削除しません
<div class="header header--mic">
<div class="header__inner">
<div class="header__hamburger" id="button-add">
<div id="box" class="nav-icon"></div>
</div>
</div>
<div class="header__site-nav">
<div class="site-nav site-nav--hidden"></div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$(document).on("click", ".header__hamburger", function() {
$('div.nav-icon').addClass("nav-icon--x nav-icon--white");
$('div.header.header--mic').addClass("header--site-nav-expanded");
$('div.header__site-nav').addClass("header__site-nav--expanded");
if ($('div.site-nav').hasClass("site-nav--hidden")) {
$('div.site-nav').removeClass("site-nav--hidden");
}
});
});
</script>
チェック[ '$ .toggleClass'](HTTPのようにそれを行うことができます 要素を表示し、非表示にする必要が見るように:// apache.jquery.com/toggleClass/) – vittore
あなたの 'hasClass()'チェックの必要はありません。 'removeClass()'は、クラスが要素に存在しない場合は何もしないので、呼び出す前にクラスの存在を確認する必要はありません。 – AmericanUmlaut