javascript - 使用 waypoints.js 和 Anime.js 分别对具有相同类的元素进行动画处理

标签 javascript jquery jquery-waypoints anime.js waypoint

我有一个脚本,当标题进入视口(viewport)时使用 viewport.js 和 Anime.js 为标题设置动画:

$(".title").waypoint(function() {
anime.timeline({loop: false})
  .add({
    targets: '.title span',
    rotateY: [-90, 0],
    duration: 1300,
    delay: (el, i) => 45 * i
  });
}, {
            offset: '100%'
});

当我多次使用 .title 类时,当另一个标题进入视口(viewport)时,所有标题都会再次显示动画。我是否可以使用 .title1、.title2 等复制脚本?或者有更短的方法吗?

最佳答案

问题是因为 targets 中的 .title span 选择器选择了所有元素。

要仅选择与已触发的航路点相关的元素,请使用 this.element。从那里您可以找到要调用 animespan 元素。试试这个:

$(".title").waypoint(function() {
  anime.timeline({
    loop: false
  }).add({
    targets: this.element.querySelectorAll('span'),
    rotateY: [-90, 0],
    duration: 1300,
    delay: (el, i) => 45 * i
  });
}, {
  offset: '100%'
});

关于javascript - 使用 waypoints.js 和 Anime.js 分别对具有相同类的元素进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66675549/

相关文章:

javascript - 使 Waypoints jQuery 插件仅在到达底部一次时触发

javascript - 使用 jquery waypoints 插件淡出元素

javascript - jQuery按时间间隔替换图像

javascript - 无法让 JQuery 显示工作

javascript - jQuery-Javascript setTimeout-clearTimeout 不工作

javascript - 将函数/样式应用于每个 each() 迭代

javascript - jquery.find() 无法识别的正则表达式

jQuery 路点和响应式代码不能很好地发挥作用

javascript - 如何在不使用 foreach 的情况下访问动态更新的 knockout observableArray 的特定元素

javascript - Web 服务器上的 jQuery 要求