首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScrollMagic + TweenMax:同时绘制多条SVG路径?

ScrollMagic + TweenMax:同时绘制多条SVG路径?
EN

Stack Overflow用户
提问于 2018-09-01 08:58:05
回答 1查看 363关注 0票数 0

这是我用ScrollMagic绘制SVG路径的脚本

代码语言:javascript
复制
 // Prepare SVG
  function pathPrepare_journey($el) {
    var lineLength_journey = $el[0].getTotalLength();
    $el.css("stroke-dasharray", lineLength_journey);
    $el.css("stroke-dashoffset", lineLength_journey);
  }

  var $journey1 = $("path#path1");
  var $journey1_2 = $("path#path2");
  var $journey1_3 = $("path#path3");

  pathPrepare_journey($journey1);
  pathPrepare_journey($journey1_2);
  pathPrepare_journey($journey1_3);

  // Reference to container
  var container = $("#section1");
  var containerHeight = $(container).height();
  var vpHeight = $(window).height();

  // Init controller
  var SVGcontroller_journey = new ScrollMagic.Controller();

  // Build tween
  var tween_journey = new TimelineMax().add(
    TweenMax.to($journey1, 1, { strokeDashoffset: 0, ease: Linear.easeNone })
  );

  // Build scene
  var scene = new ScrollMagic.Scene({
    triggerElement: container,
    duration: containerHeight - vpHeight / 2,
    tweenChanges: true
  })
    .setTween(tween_journey)
    .addIndicators({
      name: "Draw Journey Lines#1",
      colorTrigger: "brown",
      colorStart: "brown",
      colorEnd: "brown",
      indent: 600
    })
    .addTo(SVGcontroller_journey);

它运行得非常好,但正如您所见,我的SVG ($journey1$journey1_2 & $journey1_3)中有三条单独的路径,而ScrollMagic场景目前只绘制其中的一条,即$journey1,因为我只能将这一条路径添加到TimelineMax()中。

我的简单问题是:如何添加其他路径,以便与$journey1__同时绘制它们?

我能够添加其他路径,但它们是连续绘制的:

代码语言:javascript
复制
// Build tween
  var tween_journey = new TimelineMax()
    .add(
      TweenMax.to($journey1, 1, { strokeDashoffset: 0, ease: Linear.easeNone })
    )
    .add(
      TweenMax.to($journey1_2, 1, { strokeDashoffset: 0, ease: Linear.easeNone })
    );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-01 20:14:35

我发现,我可以按TweenMax时间线内的类来定位路径,如下所示:

代码语言:javascript
复制
var tween_journey = new TimelineMax();
tween_journey.to(".cls-2", 1, { strokeDashoffset: 0, ease: Linear.easeNone });

这样可以同时激活/绘制给定类的所有路径,从而解决我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52126568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档