如何从JavaScript中的fx队列中删除slideUp()slideDown()?

时间:2011-08-11 02:33:54

标签: javascript jquery animation queue

我必须制作一个自定义动画队列来设置我的动画时间轴。

有没有办法从fx队列中删除预定义的slideUp()或slideDown()动画?我知道你在使用animate()时使用queue:false,但是可以使用预定义的动画吗?

1 个答案:

答案 0 :(得分:0)

我想这不可能开箱即用。

查看je jQuery源代码,使用带有4个参数的animate()重载执行预定义的动画:

// Generate shortcuts for custom animations
jQuery.each({
    slideDown: genFx( "show", 1 ),
    slideUp: genFx( "hide", 1 ),
    slideToggle: genFx( "toggle", 1 ),
    fadeIn: { opacity: "show" },
    fadeOut: { opacity: "hide" },
    fadeToggle: { opacity: "toggle" }
}, function( name, props ) {
    jQuery.fn[ name ] = function( speed, easing, callback ) {
            return this.animate( props, speed, easing, callback );
    };
});

可能的解决方案可能是使用animate重载在您的代码中重新定义它们,该重载将选项对象文字作为第二个参数(就像您已经在使用的那样)。 虽然我会推荐这个,因为它听起来像很多工作,最终不那么可靠......

希望这有帮助, d。