私はjQuery(3レベル)でアニメーションメニューをやっています。私はエフェクトslideDown
とを使用していslideUp
ます。時々 (常にではありません)、最初のメイン アイテムのサブメニューを開くと、ページを更新するまで 2 番目のメイン アイテムのサブメニューが機能しません。エフェクトfadeIn
とfadeOut
で問題なく動作しますが、スライドを使用したいです。
ここに私のコードがあります: http://jsfiddle.net/mcCAx/
私はjQuery(3レベル)でアニメーションメニューをやっています。私はエフェクトslideDown
とを使用していslideUp
ます。時々 (常にではありません)、最初のメイン アイテムのサブメニューを開くと、ページを更新するまで 2 番目のメイン アイテムのサブメニューが機能しません。エフェクトfadeIn
とfadeOut
で問題なく動作しますが、スライドを使用したいです。
ここに私のコードがあります: http://jsfiddle.net/mcCAx/
問題は、要素のスタイリング<ul class="SubStage">
がオーバーライドされていたことです。したがって、コールバックでスタイリングを再上書きすることで、火と火を戦ってください。サイドメニューは毎回表示されます。:)
$(document).ready(function()
{
$('li.MainStage').hover(
function()
{
$(this).find('ul.SubStage').slideDown('slow',function(){
$(this).parent().find('ul.SubStage').css({overflow:"visible"});
});
},
function()
{
$(this).find('ul.SubStage').stop().slideUp('slow');
});
$('li.SubStage').hover(
function()
{
$(this).find('ul.Sub2Stage').slideDown('slow');
},
function()
{
$(this).find('ul.Sub2Stage').stop().slideUp('slow');
});
});
これは私のためにそれを修正しました
$(document).ready(function()
{
$('li.MainStage').hover( function()
{
$(this).stop();
$(this).find('ul.SubStage').slideDown('slow');
}, function()
{
$(this).stop();
$(this).find('ul.SubStage').slideUp('slow');
});
$('li.SubStage').hover( function()
{
$(this).stop();
$(this).find('ul.Sub2Stage').slideDown('slow');
}, function()
{
$(this).stop();
$(this).find('ul.Sub2Stage').slideUp('slow');
});
});