【发布时间】:2019-12-31 10:18:56
【问题描述】:
我尝试将同一类imagens-giratorias 设置为两个元素或设置imagens-giratorias 和imagens-giratorias-2。该类在第一个元素中工作,同一类在第二个元素中停止动画。
[我在最后提供了 JSFiddle。]
在https://stackoverflow.com/a/59524483/8041366查看@rafaelcastrocouto的原始代码。如果您更喜欢在此处阅读完整代码,这里是从那里获取的代码,但稍作修改:
var counter = 1;
var div = document.querySelector('.imagens-giratorias');
var imagens = document.querySelectorAll('.imagens-giratorias img');
var showNext = function () {
counter++;
if (counter > 3) counter = 1;
div.classList.remove('imagem1', 'imagem2', 'imagem3')
div.classList.add('imagem'+counter);
};
for (var img of imagens) {
img.addEventListener('animationend', showNext);
}
还有小CSS sn-p:
<div class="section-2">
<div class="item-2">
<div class="imagens-giratorias imagem1">
</div>
</div>
</div>
<div class="section-3">
<div class="item-2">
<div class="imagens-giratorias imagem1">
</div>
</div>
或者
<div class="section-3">
<div class="item-2">
<div class="imagens-giratorias-2 imagem1">
</div>
</div>
第一个解决方案,我指的是上面相同的原始代码。
第二个解决方案:
var div = document.querySelector('.imagens-giratorias, .imagens-giratorias-2');
var imagens = document.querySelectorAll('.imagens-giratorias img, .imagens-giratorias-2 img');
- 第三种解决方案
var div = document.querySelector('[class^=imagens-giratorias]');
var imagens = document.querySelectorAll('[class^=imagens-giratorias] img');
- 第四个解决方案
const contador = 1;
const div = document.querySelector('.imagens-giratorias');
const imagens = document.querySelectorAll('.imagens-giratorias img');
我也尝试使用multiple selectors with document.querySelectorAll。没运气。
但是所有这些解决方案都不起作用。
JSFiddle
请注意两个要素。虽然一个元素将始终动画,但另一个元素将停止动画。
【问题讨论】:
-
其余代码在哪里?
-
@symlink,完成。
标签: javascript html css