如何使用JQuery在另一个DIV之前获得一个DIV到fadeOut()?

时间:2010-09-03 08:23:29

标签: jquery

如果隐藏DIV(.level3),如何让DIV(.level2)开始执行fadeOut()?

目前发生的事情是DIV(.level2)在菜单上的DIV(.level3)之前淡出......看起来真的搞砸了。

请参阅以下代码:

$('.level3').live('mouseleave', function(){

    $('.level3').delay(2300).fadeOut(250);

    if($('.level3:hidden')){
        $('.level2').delay(2300).fadeOut(250);
    }
    })

任何帮助都非常感谢,谢谢

2 个答案:

答案 0 :(得分:1)

不,为什么这样?使用回调!首先隐藏level3,并添加隐藏level2的回调:

$('.level3').fadeOut(250, function(){$('.level2').fadeOut(250);});

隐藏function(){$('.level2').fadeOut(250);}的回调函数.level2仅在$('.level3').fadeOut()完成时被调用,换句话说,隐藏.level3时。

另请查看> THIS<。它将帮助您了解jQuery API的工作原理。

答案 1 :(得分:0)

试试这个:

$('.level3').live('mouseleave', function(){
    if($('.level3:hidden')){
        $('.level2').fadeOut(250);
    }
    else{
       $('.level3').fadeOut(250);
       $('.level2').delay(250).fadeOut(250);
    }
})