gpt4 book ai didi

javascript - ScrollMagic 插件正在运行,但不是 "tying"滚动动画

转载 作者:太空宇宙 更新时间:2023-11-04 11:05:33 25 4
gpt4 key购买 nike

我正在尝试使用 scrollmagic 插件实现 SVG 文本滚动,如下所示:

http://janpaepke.github.io/ScrollMagic/examples/advanced/svg_drawing.html

但是,当我从此处获取示例代码并将其合并到我的站点中时,SVG 动画有效,但 svg 动画是同时发生的,而不是与窗口滚动的 1:1 关系。

我假设一定有某种场景或 Controller 属性必须启用此功能?这是我为此使用的特定代码,从我的元素中裁剪出来:

HTML:

<div class="resume-block-3 container">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="350" height="200">
<path id="word" style="stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1009.23px; stroke-dashoffset: 1009.23px;" fill="none" stroke="#fff" stroke-width="5" d="M22.328,70.018c9.867-7.4,10.724,20.434,13.014,28.694c-0.08-9.105-1.308-31.463,11.936-31.886
c11.313-0.361,17.046,19.368,16.367,28.098c-1.432-10.289,6.234-30.682,18.163-25.671c11.505,4.833,8.682,26.772,20.071,31.964
c13.06,5.953,14.854-8.305,19.734-17.017c7.188-12.836,4.933-15.417,29.6-14.8c-8.954-3.842-37.42,1.728-28.539,20.1
c5.823,12.045,34.911,12.583,30.018-8.873c-5.385,17.174,24.01,23.104,24.01,9.123c0-9.867,3.816-15.937,16.034-18.5
c8.359-1.754,18.982,4.754,25.9,9.25c-10.361-4.461-51.941-13.776-37.749,12.357c9.435,17.372,50.559,2.289,33.477-6.063
c-2.871,19.008,32.415,31.684,30.695,54.439c-2.602,34.423-66.934,24.873-79.302,2.134c-13.11-24.101,38.981-36.781,54.798-40.941
c8.308-2.185,42.133-12.162,25.88-25.587c-2.779,17.058,19.275,28.688,29.963,12.911c6.862-10.131,6.783-25.284,30.833-19.117
c-9.404-0.429-32.624-0.188-32.864,18.472c-0.231,17.912,21.001,21.405,40.882,11.951"></path>
<path id="dot" style="stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 44.2974px; stroke-dashoffset: 44.2974px;" fill="none" stroke="#fff" stroke-width="5" d="M247.003,38.567c-7.423,1.437-11.092,9.883-1.737,11.142c14.692,1.978,13.864-13.66,1.12-8.675"></path>
</svg>
</div>

JS:

function pathPrepare ($el) {
var lineLength = $el[0].getTotalLength();
$el.css("stroke-dasharray", lineLength);
$el.css("stroke-dashoffset", lineLength);
}

var $word = $("path#word");
var $dot = $("path#dot");

// prepare SVG
pathPrepare($word);
pathPrepare($dot);

// init controller
var controller = new ScrollMagic.Controller();

var thirdBlockEntrance = new TimelineMax()
.add(TweenMax.to($word, 0.9, {strokeDashoffset: 0, ease:Linear.easeNone})) // draw word for 0.9
.add(TweenMax.to($dot, 0.1, {strokeDashoffset: 0, ease:Linear.easeNone})) // draw dot for 0.1
.add(TweenMax.to("path", 1, {stroke: "#33629c", ease:Linear.easeNone}), 0); // change color during the whole thing


var tweenScene3 = new ScrollMagic.Scene({
triggerElement: '.container.resume-block-3',
offset:200
})
.setTween([thirdBlockEntrance])
.addIndicators()
.addTo(controller);

我再说一遍,这是从更大的元素中裁剪出来的,所以如果有什么遗漏,请先在评论中询问我,我会更新帖子。

感谢您的帮助。

最佳答案

您需要在场景选项中包含持续时间。这将决定控制时间轴进度的滚动过程的长度:

     triggerElement: '.container.resume-block-3',
offset:200,
duration: 800

关于javascript - ScrollMagic 插件正在运行,但不是 "tying"滚动动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34003227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com