Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用区间存储随机数组值_Javascript - Fatal编程技术网

Javascript 用区间存储随机数组值

Javascript 用区间存储随机数组值,javascript,Javascript,我如何用白色/无背景替换旧的“盒子” var counter = 11; var check = 0; var boxes = ["box_1","box_2","box_3","box_4"]; clock = setInterval(function() { counter--; if(counter==0) { clearInterval(clock); document.getElementById("counter").innerHTM

我如何用白色/无背景替换旧的“盒子”

var counter = 11;
var check = 0;
var boxes = ["box_1","box_2","box_3","box_4"];

clock = setInterval(function() {
    counter--;
    if(counter==0) {
        clearInterval(clock);
        document.getElementById("counter").innerHTML="Time Left: 0 seconds.";
    } else {
        var box = boxes[Math.floor(Math.random()*boxes.length)];
        document.getElementById("counter").innerHTML="Time Left: " + counter.toString() + " seconds.";
        document.getElementById(box).style.backgroundColor="#000";
    }
}, 1000);
我试图将该框存储为
old\u-box
->
old\u-box=box
,但它不起作用

人们似乎在误解。
我想存储框值,以便在下一个循环中调用它并将其设置为白色,而新框可以设置为黑色。

您需要记住框:

var counter = 11;
var check = 0;
var boxes = ["box_1","box_2","box_3","box_4"];
var lastbox = false;
clock = setInterval(function() {
counter--;
if(counter==0) {
    clearInterval(clock);
    document.getElementById("counter").innerHTML="Time Left: 0 seconds.";
} else {
    if (lastbox) {
        document.getElementById(lastbox).style.backgroundColor = "#FFF";
    }
    lastbox = boxes[Math.floor(Math.random()*boxes.length)];
    document.getElementById("counter").innerHTML="Time Left: " + counter.toString() + " seconds.";
    document.getElementById(lastbox).style.backgroundColor="#000";
}
}, 1000);

只需将元素的背景设置为
#000
哪个索引与随机数
(r==i)

或者,如果您想使用广泛的选择器获取更多元素:(较慢)


#000是黑色而不是白色。您的标题似乎与您的主题无关question@DJL你误会了。我想把旧盒子调成白色,把新盒子调成黑色。你真是个天才,我的朋友!至少有人理解了询问的内容。您需要定义变量
clock
function $id(_) { return document.getElementById(_);   }
function $el(_) { return document.querySelectorAll(_); }
function game() {
  if (!c) clearInterval( clock );
  $cou.innerHTML = "Time Left: "+ (c--) +" seconds.";
  var r = ~~(Math.random()*n);
  for(var i=0; i<n; i++) $box[i].style.backgroundColor = i==r?"#000":"#fff";
}

var $box = $el("[id^=box_]"),
    $cou  = $id("counter"),
    n = $box.length,
    c = 10,
    clock = setInterval(game, 1000);
$id("elementID")
$el(".elements")       // [] array collection
$el("[id^=prefix]")    // [] array collection
$el("input")           // [] array collection