更改块中的颜色
Changing colors in blocks
本文关键字:颜色 更新时间:2024-05-18
共有4个块。我需要让他们每个人依次将背景颜色改为红色。在第二圈我出现了一个错误。如何修复?
var spanElems = [].slice.call( document.querySelectorAll('.block__item') ),
i = 0, timer, prev;
(function foo() {
spanElems[prev || 0].style.background = '';
prev = i;
spanElems[i++ % spanElems.length].style.background = 'red';
console.log(i, prev);
timer = setTimeout(foo, 3000);
})();
.block {
margin-top: 100px;
}
.block__item {
padding: 10px;
border: 2px solid #ccc;
}
<div class="block">
<span class="block__item">1</span>
<span class="block__item">2</span>
<span class="block__item">3</span>
<span class="block__item">4</span>
</div>
沙盒:http://jsbin.com/lowimewegu/edit?html,输出
问题是prev
最终大于spanElems.length,因此spanElems[prev]未定义。尝试:prev = i % spanElems.length;
代替prev = i;
好吧,这个错误表明你无法获得null的样式属性,并且prev
变量在达到4之后似乎不会重置回0,所以prev
似乎是问题所在。
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 动态更改高图中的系列颜色
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- jQuery动画-边框宽度和颜色
- JS幻灯片与CSS背景颜色变化
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- 使用Angular单击时更改特定图示符图标的颜色
- 如何使用D3生成特定范围内的随机颜色
- 比较javascript中的浮动并更改最高浮动的颜色
- 改变所有<td>为特定的桌子点击颜色
- 如何获得随机灯光颜色