以下のdivの2つの同じケースがあります。
<div class="box">
<div class="content">
Content here
</div>
<div class="info">
Text here
</div>
</div>
.infoはオーバーフローで非表示になります:非表示になり、.boxにカーソルを合わせると、.info .animatesが表示され、.contentに関する情報が含まれます。
しかし、.boxの1つにカーソルを合わせると同じクラス名になるため、両方の.infoが.animatesになります。
私はこの解決策を思いついた
$(document).ready(function(){
$('.box').mouseover(function(){
$(this).find(".info").addClass("active");
});
$('.box').hover(function(){
$('.active').animate({bottom: "0px"}, {queue: false, duration: 100})
}, function(){
$('.active').animate({bottom: "-50px"}, {queue: false, duration: 100});
});
$('.box').mouseout(function(){
$(this).find(".info").removeClass("active");
});
});
最初にホバーを使用してクラスを追加および削除しようとしましたが、.animateの.hoverと.infoがアニメーション化されない前に、アクティブなクラスが削除されました。
これは良い解決策ですか、それともこれを行うためのより良い、より「正しい」方法がありますか?