2012-11-27 29 views
1

我试图运用一些花哨的期待UI东西给我的web应用程序,我想一个菜单,向下滑动和淡入,或者,向上滑动,并在同一时间淡出多个并发jQuery效果

我试过这个...

if($('#Menu').css("display") == "none") { 
    $('#Menu').slideDown(250).fadeIn(250); 
} else { 
    $('#Menu').slideUp(250).fadeOut(250); 
} 

......它没有工作。只有一种效果发生......任何人都可以解释是否有可能以这种方式链接效果,或者提出一种解决方法?

+0

这是可能的,但你必须与.animate方法,而不是了slideDown和淡入做到这一点。目前发生的是一种效果,然后发生下一个,因为jQuery UI使用动画队列系统。每个元素一次只能执行一个队列项目。 –

回答

0

为了实现这个目标,你需要使用jQuery的.animate()函数。像这样的东西;

if ($('#Menu').css('opacity') == 1) { 
    $('#Menu').animate({ 
     opacity: 0, 
     height: '0' 
    }, 500, function() { 
     // animation complete 
    }); 
} else { 
    $('#Menu').animate({ 
     opacity: 1, 
     height: '200px' 
    }, 500, function() { 
     // animation complete 
    }); 
}​ 

我认为你可以用'切换'替换高度值以避免放入特定值。但是我没有亲自使用它,所以不能确定。

编辑: “切换”似乎很好地工作:http://jsfiddle.net/RjESG/3/