0

我想用 jQuery 为 DIV 设置动画animate(),通过 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);

问题:旧位置的存储太慢,并且在数据中“原点”是动画对象时的一个值。(任何负值)

如果我延迟动画,则存储正确的值,但这不是我想要的。

任何帮助表示赞赏。

4

1 回答 1

0

如果您改用 load,您可以在加载完成后触发一个函数。此外,使用 ajax 您还可以选择之前、成功和完成等选项。这是文档中的加载示例。

$('#result').load('ajax/test.html', function() {
  alert('Load was performed.');
});
于 2012-06-11T15:48:39.433 回答