<section class="ham"> <h2> test </h2> <div class="ham_content"> <div class="ham2"> <ul> <li>a</li> <li>b</li> <li>c</li> </ul> </div> contents </div> </section>
上記はハンバーガーメニューのソースコードになっているのですが、hamクラスの範囲をクリックするとアコーディオンが開いたり閉じたりするようになっています。
ただ1つ問題があり、アコーディオンを開いた後にham2クラスの範囲をクリックしてもアコーディオンが閉じてしまいます。
ham2クラスの部分に別のクリック動作を実装したいので、ham2クラスの範囲をクリックするとアコーディオンが閉じるのでは困るという事情があります。
そこで
$(".ham").on('click',function(){}
の部分を
$(".ham").not(".ham2").on('click',function(){}
のようにham2範囲だけ除外すればいいと思いましたが全くうまくいきません。
不思議なのですがどうしてうまくいかないのでしょうか。
また、ham範囲からham2範囲を除外したエリア内だけをクリックした時にアコーディオンが閉じるという動きに変えることは可能でしょうか。
回答2件
あなたの回答
tips
プレビュー