###実現したいこと
item1にホバーした場合 : item1だけにis_hover
item2にホバーした場合 : item1だけにis_hover
item3にホバーした場合 : item3だけにis_hover
###発生している問題
以下ができずに苦戦しています。
item2にホバーした場合 : item1だけにis_hover
###該当のソースコード
下記ソースコードを実行
html
1<div class="item item1"> 2 <p>.item1</p> 3 <div class="item item2"> 4 <p>.item2</p> 5 <div class="attached"> 6 <div class="item item3"> 7 <p>.item3</p> 8 </div> 9 </div> 10 </div> 11</div>
css
1.is_hover{background: red;} 2.item{padding: 10px; border: 1px solid black;;}
jQuery
1$(document).on('mouseover','.item', function(e){ 2 e.stopPropagation(); 3 $('.is_hover').removeClass('is_hover'); 4 $(this).addClass('is_hover'); 5}); 6$(document).on('mouseout','.item', function(e){ 7 e.stopPropagation(); 8 $(this).removeClass('is_hover'); 9});
###試したこと
「item2のときには何もしたい」という分岐があればいいと思いまして、以下3行目に// 追加
してみたのですが、すべてからクラスが外れるということになってしまいまして…
どうしたらいいのか教えて頂けませんでしょうか。
$(document).on('mouseover','.item', function(e){ e.stopPropagation(); if( $(this).hasClass('item2') ) return; // 追加 $('.is_hover').removeClass('is_hover'); $(this).addClass('is_hover'); }); $(document).on('mouseout','.item', function(e){ e.stopPropagation(); $(this).removeClass('is_hover'); });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/03 07:42