6个DIV 135或246间隔一秒轮番显示效果

  在某技术群看到 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君 的方法真的很好,如果是我真的想不出如此高效率的方法。