【问题标题】:How to make a method chain conditional? [duplicate]如何使方法链有条件? [复制]
【发布时间】:2019-09-16 18:54:08
【问题描述】:

我正在使用一个名为anime.js 的动画库。我需要根据一些检查有条件地制作链(时间线)的动画。例如,这是我的时间线:

const tl = anime.timeline();
tl
  .add(animation_1)
  .add(animation_2)
  .add(animation_3);

只有当变量atrue 时,我才想要animation_1,所以我

const tl = anime.timeline();
tl
  .add(animation_1) // <== I need an if(a == true) on this animation
  .add(animation_2)
  .add(animation_3);

一般如何使用 javascript,特别是在anime.js 中做到这一点?

【问题讨论】:

  • 嗨,弗雷德;这获得了接近投票,因为它目前以基于意见的方式表达(例如“最佳可能方式/最佳实践”)。请定义您正在寻找的客观改进,否则此问题可能会被关闭(并提醒您最佳实践并不客观)。
  • 链根据定义返回自己。您可以简单地将它的最新迭代存储在一个变量中,然后在条件下继续链接。

标签: javascript ecmascript-6 anime.js


【解决方案1】:

不使用链接,使用 if 语句:

const tl = anime.timeline();

if (a) {
    tl.add(animation_1); 
}

t1.add(animation_2)
  .add(animation_3);

【讨论】:

  • 你可能希望t1 = t1.add(animation) 保留原来的链接行为
猜你喜欢
  • 2012-02-02
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-19
  • 2011-11-24
  • 1970-01-01
  • 2016-05-15
相关资源
最近更新 更多