为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

尚方宝剑之说 2023-10-16 10:26:24
我得到的 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 类“完成”(其某种简单的加载栏)添加到一个又一个的跨度,当最后一个跨度“完成”类时,所有内容都会重新启动并一遍又一遍地循环。有人可以帮我如何用普通 JavaScript 编写这个吗?
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

你可以这样做:


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>


查看完整回答
反对 回复 2023-10-16
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信