jquery - jQuery:anime.js 到多个相同的目标
问题描述
$(".ml3").spanLetters();
$('.ml3').on('inview', function(event, isInView) {if (isInView) {
var $this = $(this);
anime.timeline({loop: false}).add({
targets: '.ml3 .letter',
opacity: [0,1],
easing: "easeInOutQuad",
duration: 550,
delay: function(el, i) {
return 80 * (i+1)
}
});
}});
如何更改此设置,以便动画仅针对视图中的当前元素触发,而不是页面上的所有 .ml3 类?所以它只使用'this'元素?
解决方案
试试下面的。目标是尝试构造选择器,该选择器将针对视图发生的特定元素。
var $allML3 = $('.ml3').on('inview', function(event, isInView) {
if (isInView) {
var index = $allML3.index(event.target);
var specificTargetSelector = `.ml3:nth-child(${index + 1}) .letter`
anime.timeline({
loop: false
}).add({
targets: specificTargetSelector,
opacity: [0, 1],
easing: "easeInOutQuad",
duration: 550,
delay: function(el, i) {
return 80 * (i + 1)
}
});
}
});
这index + 1
是由于:nth-child()
从 1 而不是 0 开始。
推荐阅读
- node.js - ReferenceError:firebase_app__WEBPACK_IMPORTED_MODULE_0__ 未在 userFunction(Autodesk 的查看器)中定义
- pine-script - Heikin-Ashi 脚本间歇性提供反向买入/卖出信号的问题
- java - Java Stream:比较一个列表是否等于第二个列表的开始(不比较整个列表)
- r - 计算不同点之间的距离并添加具有最近距离和点的列
- python - pytds 编码无日期时间导致噩梦
- mysql - 如何在 UPDATE 查询中使用两个“x ON”执行 3 个表 JOIN
- arrays - 将数组元素打印为数组最大值之间的差异
- xml - XSLT 2.0 - 使用动态选择的 group-by 对 for-each-group 进行排序
- css - 让反应滑块在 R Shiny 中使用 css 样式标签,而不是忽略它们
- sudo - sudo 保存环境变量