我正在为jQuery编写通知插件。作为插件的一部分,通知可以设置为在一定时间后自动消失。出于某种原因,虽然它只会消失,并且不像我期望的那样slideUp
。我做错了什么?
$('#' + plugin.uniqID)
.delay(plugin.settings['autoclose'])
.queue(function () {
$(this)
.fadeOut({ duration: plugin.settings['speed'], queue: false })
.slideUp(plugin.settings['speed']);
});
答案 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 });
});