jQuery幻灯片和延迟淡出不起作用

时间:2012-11-02 16:12:58

标签: javascript jquery jquery-animate

我正在为jQuery编写通知插件。作为插件的一部分,通知可以设置为在一定时间后自动消失。出于某种原因,虽然它只会消失,并且不像我期望的那样slideUp。我做错了什么?

$('#' + plugin.uniqID)
    .delay(plugin.settings['autoclose'])
    .queue(function () {
        $(this)
            .fadeOut({ duration: plugin.settings['speed'], queue: false })
            .slideUp(plugin.settings['speed']);
        });

3 个答案:

答案 0 :(得分:1)

作为替代建议,您是否可以仅使用动画并更改动画功能中的高度和不透明度?像这样:

$(本).animate({             高度:“whateverheight”             不透明度: “whateveropacity”         },whateverspeed);

答案 1 :(得分:1)

adeneo是对的,你需要致电.dequeue()

http://jsbin.com/opiluy/1/edit

$('#' + plugin.uniqID)
    .delay(plugin.settings['autoclose'])
    .queue(function () {
        $(this)
            .fadeOut({ duration: plugin.settings['speed'], queue: false })
            .slideUp(plugin.settings['speed']);
        }).dequeue();

答案 2 :(得分:1)

您只需为两个动画调用指定queue: false即可。这样可以正常工作。

$('#' + plugin.uniqID)
.delay(plugin.settings['autoclose'])
.queue(function () {
    $(this)
        .fadeOut({ duration: plugin.settings['speed'], queue: false })
        .slideUp({ duration: plugin.settings['speed'], queue: false });
    });