gpt4 book ai didi

javascript - SetInterval定时改变单元格颜色

转载 作者:行者123 更新时间:2023-12-02 19:45:48 25 4
gpt4 key购买 nike

问题在下面的代码中,假设我想更改单元格 1 、2 和 4 的颜色,那么它们会以不同的时间间隔更改颜色。 (先说 1 个更改,然后 2 个更改,然后 4 个更改)

我希望它们全部(1,2 和 4)同时改变颜色。看起来所有(1,2 和 4)都是红色,然后所有 3 又都是蓝色。

这里 temp_array 将包含我必须更改颜色的单元格(假设 temp_array 将有 1,2 和 4。

 function startChangingColor()
{
var temp;
for(var i=0;i<temp_array.length;i++)
{
temp = temp_array[i];
intervalid[i] = setInterval( createCB(temp) ,300);
}
}
function createCB( val )
{
return function()
{
changeColor( val );
};
}

var flag = true;
function changeColor (element)
{
if(flag==true)
{
document.getElementById(CELL+element).className='redled';
flag=false;
}
else if (flag==false)
{
document.getElementById(CELL+element).className='grayled';
flag = true;
}
}

最佳答案

不知道我是否正确阅读此内容,但请尝试以下操作:

var
cells = document.getElementsByTagName('td'),
tempArray = [[0, 1, 3], [1, 2, 0]];

var createColorChanger = function (classNames, elements, elementSelection) {
var currentIndex = 0;

return function () {
var className = classNames.shift(), i = 0, lim = elements.length;
classNames.push(className);

for (; i < lim; i += 1) {
elements[i].className = elementSelection[currentIndex].indexOf(i) > -1 ? className : '';
}

currentIndex += 1;
if (currentIndex >= elementSelection.length) {
currentIndex = 0;
}
}
};

setInterval(createColorChanger(['grayled', 'redled'], cells, tempArray), 1000);

演示:http://jsfiddle.net/NZPTE/3/

关于javascript - SetInterval定时改变单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9890241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com