のセットを含むメニューがあります。このメニューli
にカーソルを合わせると、コンテナの高さがアニメーション化され、関連する子が表示され.subnav
ます。
私が抱えている問題は2つあります。
にすばやくカーソルを合わせると、その時点からアニメーションが再開されるため、コンテナ
li
のアニメーションが遅くなります。「いずれかのにカーソルを合わせると、これを1回だけアニメーション化する」と言い、コンテナまたはサブナビゲーションからカーソルを合わせると、元の位置に戻すことができるようにしたいと思います。li
コンテンツが表示されていて、
.subnav
別のトリガーliにカーソルを合わせると、アニメーションがコンテナーで再度実行しようとしているように見えます。そのため、その後に発生するはずのアクションに遅延が発生します。
使ってみunbind()
ましbind()
たが失敗しました。使ってみ:animated
ましたが、ロジックが正しくないようです。
これが私のコードです:
var navHeight = $('#primary-nav').height();
$('#primary-nav-list li').hover( function() {
var elem = $(this);
if ($(this).is('#roc-noir')){ var subnavHeight = 173; }
else { var subnavHeight = 235; }
$('#primary-nav').stop(true,false).animate({height:subnavHeight}, function(){
$('#primary-nav-list li').removeClass('active');
$(this).addClass('open');
$(elem).addClass('active');
$('#primary-nav-list li').not(this).find('.subnav').fadeOut('fast');
$(elem).find('.subnav').fadeIn('fast');
});
}, function(){
$('#primary-nav').removeClass('open');
$('#primary-nav').stop(true,false).animate({height:navHeight}, function(){
$('#primary-nav-list li').removeClass('active');
$('#primary-nav-list li').not(this).find('.subnav').hide();
});
});
どんな助けでもいただければ幸いです。