我已尝试在.animate()中提供回调函数(FUNCTIONX),但它会立即触发 - 并且不会等待动画结束。
nav.click(function () {
holder.stop(true, true);
var target = $(this).attr('class');
if (target === 'right') {
var value = current.width();
holder.animate({
right: '+=' + value
}, slideSpeed, FUNCTIONX());
current = current.next();
} else {
var value = current.prev().width();
holder.animate({
right: '-=' + value
}, slideSpeed, FUNCTIONX());
current = current.prev();
}
});
还尝试使用.promise()(如下所示),效果相同。
var value = current.width();
holder.animate({
right: '+=' + value
}, slideSpeed);
current = current.next();
nav.promise().done(function() {
alert( 'dupa' );
});
幻灯片效果结束后如何完成此动画后的运行功能?
答案 0 :(得分:1)
立即调用FUNCTIONX。请尝试删除()
。
自:
holder.animate({
right: '+=' + value
}, slideSpeed, FUNCTIONX());
要:
holder.animate({
right: '+=' + value
}, slideSpeed, FUNCTIONX);