#jquery #html #css #scrollmagic
#jquery #HTML #css #scrollmagic
Вопрос:
Я работаю над проектом, в котором мне нужно, чтобы несколько divs запускались, а затем прикреплялись к экрану во время прокрутки. Я попытался сложить их вместе, но это приводит к странному перемещению div. Как pin, так и tween отлично работают по отдельности, но я не могу заставить их правильно работать вместе. Есть предложения? У меня есть несколько фрагментов кода ниже.
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;
}
Ответ №1:
Анимировать цель pin-кода не очень хорошая идея. Причина в том, что выполняется много вычислений, чтобы убедиться, что элемент отображается в правильном положении во время вывода. Простое решение — создать оболочку вокруг вашего элемента и закрепить его вместо этого. То, что происходит внутри оболочки (анимации), является отдельным, поэтому проблем нет. 🙂
Для получения дополнительной помощи следуйте этому руководству: https://github.com/janpaepke/ScrollMagic/blob/master/CONTRIBUTING.md