2016-05-31 3 views
0

私はこれをしばらく試してきましたが、なぜこの単純なtoggleClassが機能しないのか分かりません。私が開発ツールで要素検査をしているとき、何かをしようとしているかのように要素がちらつくのが見えます。単一のコンソールエラーを取得しません。それはaddClassに問題はありませんが、私がtoggleClassに切り替えるとうまくいきません。基本的なtoggleClassを動作させることができません

私のコードは次のとおりです。

<div class="header-top-wrap"> 
    <a class="nav-opener"></a> 
</div> 

$(".nav-opener").on("click",function() { 
    $(".header-top-wrap").toggleClass("nav-active"); 
}); 
+0

' clickイベントを要素に対して2回繰り返します。 –

+0

だから私はどこでそれを再び付けるだろうか?それがそれのための唯一のコード行です。 – Blake

+0

私はtoggleClassを2回呼び出されていないことを確認するためにいくつかのランダムなものに変更しました。 – Blake

答えて

2

すべてのコードを持たずに、これはデバッグに厳しいです。ここにあなたの正確なJSを使用して取り組んでいる例jsFiddleです:テキストの色はonclickを変える:https://jsfiddle.net/qk5ue9yv/私は私の要素flicker`は通常、あなたが添付されている兆候であることがわかり

$(".nav-opener").on("click",function() { 
 
    $(".header-top-wrap").toggleClass("nav-active"); 
 
});
.nav-active{ 
 
    color:red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="nav-opener"> 
 
    <div class="header-top-wrap"> 
 
    hello world 
 
    </div> 
 
</div>

+0

ありがとう、私はコードが間違っているとは思わなかった。私は、それを乱している外部のjsソースがあるかどうかを確認する必要があります。私はこの1つのトグル以外に作成したすべてのjsを削除しましたが、それでも動作しません。だから私はそれに矛盾している引き出しているいくつかの外のjsかもしれません。 – Blake

-1
$(".nav-opener").click(function(){ 

    $(".header-top-wrap").toggleClass("nav-active"); 
}); 
+1

ようこそスタックオーバーフロー!このコードスニペットは問題を解決するかもしれませんが、[説明を含めて](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! –

+0

確かに... :) – sam

関連する問題