我想使用jQuery的animate()
为DIV制作动画,通过ajax加载新内容并将动画重新设置回原始位置。为了以后回放动画,我通过data()
存储左侧位置。
到目前为止,这是代码:
(function($){
//Transition Out
$.fn.ajaxTransitionOut = function() {
var origin = this.css('left');
var amount = $(window).width()*-1;
return $(this).data('origin',origin).stop().animate({left:amount, opacity:0}, 400);
};
})(jQuery);
第二次尝试:
(function($){
//Transition Out
$.fn.ajaxTransitionOut = function() {
var origin = $(this).css('left');
$(this).data('origin',origin)
var amount = $(window).width()*-1;
return $(this).data('origin',origin).stop().animate({left:amount, opacity:0}, 400);
};
})(jQuery);
问题:存储旧位置的速度太慢,而数据“origin”是一个值,同时为Object设置动画。 (任何减值)
如果我延迟动画,则存储正确的值,但这不是我想要的。
任何帮助表示感谢。
答案 0 :(得分:0)
如果使用load,则可以在加载完成后触发函数。此外,使用ajax还可以选择之前,成功和完成。这是文档中的加载示例。
$('#result').load('ajax/test.html', function() {
alert('Load was performed.');
});