我有一个有点困难的动画要用 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
});
最佳答案
在动画之前使用 setTimeout() 以在第一个动画中途触发第二个动画。
var animateTime = 3000;
setTimeout("displayScene(" + sceneId + ")", animateTime / 2);
$('#interlude').animate({marginLeft: -viewportW + "px"},animateTime,'linear',function(){
$('#interlude').remove();
});
关于javascript - 同步动画,或在动画中途调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7111096/