同步动画或在动画的中途点调用

问题描述:

我在JQuery中做了一些有点困难的动画,并且我还没有找到处理它的好方法。我有一个移动网站,在屏幕上显示一系列选择。当做出选择时,选择从屏幕上滑落,同时引入一个城市的新场景(它应该模拟驾驶) - 而这个场景不是停在屏幕的中心,而是一路通过通过屏幕的另一端。问题是,当它到达中心时,我想触发一个新的div进入它的后面,匹配速度等,所以一切都会同步显示。同步动画或在动画的中途点调用

如果我将城市场景的动画设置为两部分,一次到达可以触发新选择场景的中心,一旦离开屏幕,则会出现明显的混乱。我还没有找到触发延迟的方法,因为在延迟结束时,我需要调用一个自定义函数,而不是jquery函数。所以这是我的代码:

Driving Scene (called when choices begin animating out): 

$('#interlude').animate({marginLeft: -viewportW + "px"},3000,'linear',function(){ 
    $('#interlude').remove(); 
    displayScene(sceneID); //need to figure out how to call this at the halfway point 
}); 
+1

我不使用JQuery,但不能使用.delay方法吗? – Gerben

+0

它只会调用jquery函数(据我所知),而不是用户定义的函数。 – mheavers

使用的setTimeout()动画之前,有权通过第一动画中途触发第二动画。

var animateTime = 3000; 
setTimeout("displayScene(" + sceneId + ")", animateTime/2); 
$('#interlude').animate({marginLeft: -viewportW + "px"},animateTime,'linear',function(){ 
    $('#interlude').remove(); 
}); 
+0

由于某种原因,这是立即触发。 – mheavers

+0

我的歉意,我已经在第一个参数上留下了引号。它已被编辑以反映变化。 – CashIsClay

+0

使用'displayScene.bind(window,sceneId)'不是更好吗? –