【发布时间】:2013-04-17 23:02:13
【问题描述】:
我有两个触发 jQuery 动画的分页链接。
动画的回调函数触发第二个动画。
这很好用,但是,它仅在第一次调用该函数时才有效。
每次之后,两个动画中的第一个起作用,而第二个不起作用,它只是更改了 CSS 而没有效果。
我在这里绞尽脑汁,没有任何效果(双关语)。
function switchItem(e) {
e.preventDefault();
// If not current piece
if($(this).hasClass('light')) {
/* VARIABLES */
var container = $('.portfolio footer .portfolio_content');
var link = $(this).attr('id');
var newItem = $(this).html();
/*===================================================
* This is the Key part here
===================================================*/
/* FIRST ANIMATION */
container.animate({
'right':'-100%'
}, 300, 'swing',
// Callback Function
function() {
$(this).html('').css({'left':'-100%'});
$.get('inc/portfolio/'+link+'.php', function(data) {
container.html(data);
/* SECOND ANIMATION */
container.animate({
'left':'0%'
}, 300, 'swing');
});
});
}
}
【问题讨论】:
-
会不会是因为你把动画放到了@get@函数里而不是直接放到回调函数里?尝试将动画移到 get 之外,但在回调中。
-
为什么要为左右设置动画?我认为你需要选择并坚持下去。左右 css 可能有冲突。 * 在两个 container.animate() 调用中...
-
你是对的,他们是冲突的。
标签: javascript jquery animation