简体   繁体   English

将类逐个添加到 span 标签组中

[英]Adding class to group of span tags one by one

I got html structure like this:我得到了这样的 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>

My current goal is to add every 1s class "done" (its some kind of simple loading bar) to spans one by one and when last span got "done" class everything restart and loop over and over.我目前的目标是将每个 1s 类“完成”(它的某种简单的加载栏)一个一个地添加到跨度中,当最后一个跨度“完成”类时,一切都会重新启动并一遍又一遍地循环。 Can someone help me how to write this in vanilla JavaScript?有人可以帮助我如何用 vanilla JavaScript 编写这个吗?

You could do it like this:你可以这样做:

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM