![](/img/trans.png)
[英]Hover over one span and change background color of that span plus another one by adding and removing a class
[英]Adding class to group of span tags one by one
我得到了这样的 html 结构:
<body>
<div class="container">
<span class="block done" id="1"></span>
<span class="block" id="2"></span>
<span class="block" id="3"></span>
<span class="block" id="4"></span>
<span class="block" id="5"></span>
</div>
<script src="loaders.js"></script>
</body>
我目前的目标是将每个 1s 类“完成”(它的某种简单的加载栏)一个一个地添加到跨度中,当最后一个跨度“完成”类时,一切都会重新启动并一遍又一遍地循环。 有人可以帮助我如何用 vanilla JavaScript 编写这个吗?
你可以这样做:
var blocks = document.getElementsByClassName('block'); (function animateProgress(n) { for (var i = 0; i < blocks.length; i++) { blocks[i].classList[i < n ? 'add' : 'remove']('done'); } setTimeout(function() { animateProgress((n + 1) % (blocks.length + 1)); }, 400); })(0);
.block { float: left; background: #eceded; padding: 1em; margin: 1px; } .block.done { background: #7be47b; }
<div class="container"> <span class="block"></span> <span class="block"></span> <span class="block"></span> <span class="block"></span> <span class="block"></span> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.