有没有一种方法可以让用户滚动到某个点,元素淡入,然后播放动画(X2) (没有用户输入),然后滚动触发进一步的动画,但这些只能在动画(X2)播放完的情况下触发。
var controller = $.superscrollorama({
triggerAtCenter: false
});
// set duration, in pixels scrolled, for pinned element
var pinDur = 2800;
// create animation timeline for pinned element
var pinAnimations = new TimelineLite();
pinAnimations
.append([
TweenMax.to($('#mouse_walk'), 5, {css:{opacity: 1},
onComplete: function(){
$( "#mouse_walk, #mouse_walk img" ).stop().animate( {height: '977px', width: '1080px', left: '49.5%', top:'370px'}, 200, function(){
$( "#mouse_walk, #mouse_walk img" ).stop().animate( {height: '944px', width: '1044px', left: '50%', top:'380px'}, 200, function(){
$( "#mouse_walk, #mouse_walk img" ).stop().animate( {height: '995px', width: '1100px', left: '49.3%', top:'360px'}, 200, function(){
$( "#mouse_walk, #mouse_walk img" ).stop().animate( {height: '944px', width: '1044px', left: '50%', top:'380px'}, 200, function(){
setTimeout(function() {
$( "#mouse_walk, #mouse_walk img" ).stop().animate( {height: '977px', width: '1080px', left: '49.5%', top:'370px'}, 200, function(){
$( "#mouse_walk, #mouse_walk img" ).stop().animate( {height: '944px', width: '1044px', left: '50%', top:'380px'}, 200, function(){
$( "#mouse_walk, #mouse_walk img" ).stop().animate( {height: '995px', width: '1100px', left: '49.3%', top:'360px'}, 200, function(){
$( "#mouse_walk, #mouse_walk img" ).stop().animate( {height: '944px', width: '1044px', left: '50%', top:'380px'}, 200, function(){
})
})
})
})
}, 800);
})
})
})
});
}
}
)
])
.append([
TweenMax.to( $('#mouse_walk_hell'), 5, {css:{opacity: '1'}})
])发布于 2013-10-16 01:22:27
这似乎真的太复杂了。
在我的思考过程中,你有一个大头针来做你的初始动画。
onComplete的那个动画,你直接添加补间,你想发生什么?
您可以在onComplete方法中嵌套另一个timelineLight,这样就可以对这些动画进行排序,而无需使用大量嵌套的JQuery动画组。
我也强烈建议不要把greensock和JQuery动画混在一起,它们给我带来了噩梦。
https://stackoverflow.com/questions/18985161
复制相似问题