Scrollmagic:在视差部分内设置动画内容的问题

时间:2015-06-14 05:52:47

标签: javascript greensock gsap scrollmagic

我正在尝试视差和滚动。在scrollmagic demo我尝试在第一个视差区域中制作动画内容的视差示例中。

此处a fiddle of my experiment

我无法在letter A中获取#box来移动我想要的方式。我尝试添加一个边界框并将其用作triggerElement,但这不起作用。

在向下滚动时,它应向下移动150px并淡出。现在它使用"#parallax1"作为其triggerElement,并且一旦到达该部分的底部就会淡出。我希望它在该部分的底部之前淡出。我如何做到这一点?

我做错了什么?

//////////////////////////////////////////////////////
////////////   //// Parallax Animation    ////////////
//////////////////////////////////////////////////////

// init controller
var controller = new ScrollMagic.Controller({
    globalSceneOptions: {
        triggerHook: "onEnter",
        duration: "200%"
    }
});

// build scenes
// build tween1
var tween1 = new TimelineMax();
tween1.to("#parallax1 > div", 1, {
    y: "80%",
    ease: Linear.easeNone
});

var scene = new ScrollMagic.Scene({
    triggerElement: "#parallax1"
})
    .setTween(tween1)
    .addIndicators()
    .addTo(controller);

new ScrollMagic.Scene({
    triggerElement: "#parallax1"
})
    .setTween("#box", 0.10, {
    alpha: 0,
    yPercent: 0,
    y: "800%",
    ease: Linear.easeNone
})
    .addIndicators()
    .addTo(controller);

new ScrollMagic.Scene({
    triggerElement: "#parallax2"
})
    .setTween("#parallax2 > div", {
    y: "80%",
    ease: Linear.easeNone
})
    .addIndicators()
    .addTo(controller);

new ScrollMagic.Scene({
    triggerElement: "#parallax3"
})
    .setTween("#parallax3 > div", {
    y: "80%",
    ease: Linear.easeNone
})
    .addIndicators()
    .addTo(controller);

/////----  End Parallax Animation  ---------------------------------------------->>

1 个答案:

答案 0 :(得分:2)

也许你可以使用位置相对于#parallax1的元素放置(例子)在#parallax1底部上方20px并将其用作触发器