javascript - 循环遍历从动态生成的索引开始的数组
问题描述
对不起,如果标题没有准确地抓住我的问题;不知道如何用一句话来写这个。
问题描述:假设我有一组颜色和一堆 div。我想通过数组颜色循环 div 背景颜色,但还要确保每个 div 从颜色数组中的不同位置开始。
示例:我的颜色数组是[red, blue, yellow, green]
. 第一种div
颜色从 开始,然后在 、 、之间red
循环blue
,然后再回到。Div2 从 开始,然后是,依此类推,直到我拥有尽可能多的元素。yellow
green
red
blue
yellow, green, red, blue
div
我能想象的两个潜在解决方案是:
- 我是否必须为每个 div 生成一个新的颜色数组?(也许通过在计数器上加 1 并进行拼接或推送或弹出操作)
- 我可以循环遍历原始数组,只是从每个 div 的不同位置开始吗?(根据其位置动态生成偏移量 - 1st div、2nd、3rd 等)
这两种方法都是解决问题的可行方法吗?
解决方案
只是为了好玩,这个 CSS 动画。问题被标记为css
.color-change {
--animation-duration: 5s;
display: inline-block;
height: 100px;
width: 100px;
animation: colors var(--animation-duration) steps(1, end) infinite;
}
.color-change:nth-child(4n+2) { animation-delay: calc(var(--animation-duration) * -.25) }
.color-change:nth-child(4n+3) { animation-delay: calc(var(--animation-duration) * -.5) }
.color-change:nth-child(4n+4) { animation-delay: calc(var(--animation-duration) * -.75) }
@keyframes colors {
from,
to { background: red; }
25% { background: blue; }
50% { background: yellow; }
75% { background: green; }
}
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
<div class="color-change"></div>
推荐阅读
- c# - Swashbuckle 没有在 PCF 上定义操作。工作本地开发
- terraform - aws_elasticache_replication_group 资源与 aws 提供程序版本 2.15 的使用
- java - 如何为流数据创建 Flux/Publisher
- java - if 语句中不考虑布尔方法返回
- keras - Keras 自定义损失函数与 Lambda 层
- php - 如何使用 php 发送单个 XMPP 消息
- forms - 如何在 Microsoft Access 中创建/更新具有复杂表关系的表单中的记录集
- powershell - 如何防止 Powershell 脚本读取意外输入
- javascript - Undefined Index: id 每当尝试从 id 中选择
- python - 为什么 python 的 `datetime.strptime` 函数在使用 `functools.partial` 调用时的行为方式不同?