アニメーションが完了した後にオブジェクトからクラスを削除することを想定したjQueryコードスニペットに取り組んでいます。これは私がこれまでに持っているものです:
$('.box').hover(function() {
$(this).stop().addClass('active').animate({ 'margin-top': '-49px' }, 500);
}, function() {
$element = $(this);
$(this).stop().animate({ 'margin-top': '0' }, 500, function() {
$element.removeClass('active');
});
});
問題は、アニメーションが完了したときにクラスが削除されない場合があることです。これは、div間を移動する速度が速すぎる場合に発生します。
スライダーセクションの例を見ると、スライダー内に「City」、「House」、「Business」という3つのボックスがあります。
どんな助けでも大歓迎です。
PS同じことがメインナビゲーションでも起こります。サブナビゲーションがちょうどそこにぶら下がっている場合もあります。ナビゲーションのコードは次のとおりです。
$('#navigation ul li').hover(function(){
$("a:eq(0)", this).addClass("hover");
$(this).find('ul:eq(0)').stop(true, true).slideToggle();
}, function(){
$("a:eq(0)", this).removeClass("hover");
$(this).find('ul:eq(0)').stop(true, true).slideToggle();
}
);