在某技术群看到 A君 提出的如下一个问题:
A君
6个DIV 间隔一秒 轮番进行奇偶显示. 比如先135 一秒后 246 然后再135 循环
A君
要求代码短小精悍
B君
复制代码 代码如下:
var a = document.getElementsByTagName('div');
var b = false;
setInterval(function() {
for (var i = 0; i < 6; i++)
a[i].style.display = ((i & 1) ^ b) ? 'block' : 'none';
b = !b;
}, 1000);
A君
D君这个效率不错啊
我这个不如abcd的简洁
复制代码 代码如下:
j++; for (var i = 0; i < 6; i++) o[i].style.display = [['block', 'none'], ['none', 'block']][j & 1][i & 1];
D君
用数组,也影响效率
看完不得感叹 D君 的方法真的很好,如果是我真的想不出如此高效率的方法。