Javascript 在设置动画之前存储定位数据
我想用jQuery的animate制作一个DIV的动画,通过ajax加载新内容,并将其动画还原到原始位置。为了在后面制作动画,我将通过数据存储左侧位置 这就是目前为止的代码:Javascript 在设置动画之前存储定位数据,javascript,jquery,jquery-animate,Javascript,Jquery,Jquery Animate,我想用jQuery的animate制作一个DIV的动画,通过ajax加载新内容,并将其动画还原到原始位置。为了在后面制作动画,我将通过数据存储左侧位置 这就是目前为止的代码: (function($){ //Transition Out $.fn.ajaxTransitionOut = function() { var origin = this.css('left'); var amount = $(window).width()*-1; retu
(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);
问题:旧位置的存储速度太慢,并且在设置对象动画时,“原点”是一个值。任何负值
如果我延迟动画,将存储正确的值,但这不是我想要的
非常感谢您的帮助。如果改用load,您可以在加载完成后启动函数。此外,使用ajax还可以选择before、success和complete。这是文档中的加载示例
$('#result').load('ajax/test.html', function() {
alert('Load was performed.');
});
在添加更多数据之前,可以在DOM中插入一个空标记。给它们每个一个唯一的ID,现在你就知道文档中新数据开始的所有地方了。这似乎有点可疑。你能提供一个JSFIDLE吗?谢谢你的回答。。。我发现了。我给函数打了两次电话:-谢谢你的回答。。。我发现了。我调用了函数两次:-