Использование булавки и анимации с ScrollMagic

Я работаю над проектом, в котором мне нужно, чтобы несколько div летали, а затем прикреплялись к экрану во время прокрутки. Я попытался добавить два вместе, и это привело к тому, что div странно прыгает. И булавка, и анимация прекрасно работают по отдельности, но я не могу заставить их правильно работать вместе. Какие-либо предложения? У меня есть несколько фрагментов кода ниже.

JQuery:

controller = new ScrollMagic();

var myTween = new TimelineMax()
    .add(TweenMax.to("#myTarget", .5, {
        top: "-=500"
        autoAlpha: 1,
        left: "+=300",
        color: "#aaaaaa"
    }));

new ScrollScene({triggerElement: "#myTrigger"})
    .setTween(myTween)
    .setPin('#myTarget')
    .addTo(controller);

HTML:

<div id="myTrigger" class="space50"></div>
<div id="myTarget" class="label">Stuff</div>

CSS:

.space50 {
    height: 50px;
}
.label {
    border-radius: 8px;
    display: inline-block;
    position: relative;
    text-align: center;
    vertical-align: middle;
}

person Gremash    schedule 14.06.2014    source источник


Ответы (1)


Не рекомендуется анимировать цель-булавку. Причина в том, что выполняется много вычислений, чтобы убедиться, что элемент появляется в правильном положении во время закрепления. Простое решение — создать обертку вокруг вашего элемента и вместо этого закрепить его. То, что происходит внутри оболочки (анимация), является отдельным, так что нет проблем. :)

Для получения дополнительной помощи следуйте этому руководству: https://github.com/janpaepke/ScrollMagic/blob/master/CONTRIBUTING.md

person Jan Paepke    schedule 11.08.2014