gpt4 book ai didi

javascript - 数字不断变化

转载 作者:行者123 更新时间:2023-11-28 16:18:17 24 4
gpt4 key购买 nike

我想通过从 49 个数字中选择 6 个数字来更改数字,因此首先我声明了一个 div 并在其中有 6 个跨度来包含一个数字。

我想通过 getElementByTagName 来更改它,以分配一个新的数字,并结合 setInterval 使其始终变化,但它不起作用。

我哪里错了?

谢谢。

function computeRandom(){

var value = new Array(49);//declare array


for ( i = 0; i < 49; i++ )//initial array_value
value[i] = i+1;



for ( i = 0 ;i < 100; i++ ) {//random arrange
x = parseInt(Math.random()*49);
y = parseInt(Math.random()*49);
tmp = value[x];
value[x] = value[y];
value[y] = tmp;
}


var color = new Array(49);

for ( i = 0; i < 49; i++ )//store color
color[i] = "rgb(" + parseInt(Math.random()*255) + "," + parseInt(Math.random()*255) + "," + parseInt(Math.random()*255) + ")";

var value_tmp = new Array(6);

for( i = 0; i < 6; i++)
value_tmp[i] = value[i];

document.write("<div style = \"text-align:center;\" >");//center the text by div

for( i = 0; i < 6; i++)
document.write("<span style = \"font-size: 2.5em; display:inline-block; text-align:center; width: 1.5em; background: white; color: " + color[i] + " \" > "
+ value_tmp[i] + "</span>&nbsp&nbsp&nbsp&nbsp&nbsp");

var spanArray = document.getElementsByTagName("span");

setInterval("keepMove(value,spanArray)",10);
}

function keepMove(val,sp){

var index = parseInt(Math.random()*43);//set a increment to avoid repeatition

for( i = 0; i < sp.length; i++){
sp[i].innerHTML = val[i+index];
document.write(sp[i].innerHTML+" ");
}
}

CSS:

#bg {
background: grey;
opacity: 0.8;
}


#hl {
text-align: center;
color: white;
}

HTML:抱歉,我不知道如何发布 HTML? http://codepad.org/IrSOsjg7

我已经尝试了评论者的建议,但仍然不起作用,但感谢您的帮助!我非常感激!

最佳答案

我认为问题是setInterval("keepMove(value,spanArray)",10)

当你传递一个字符串作为setInterval的第一个参数时,就像eval那个字符串一样,代码将在全局环境中运行,因为没有变量valuespanArray 在全局环境中,代码将无法正确运行。

例如:

function foo(x, y) {
alert(x + " " + y);
}

function bar() {
var x = 100, y = 200;

setInterval("foo(x, y)", 1000);
}

bar();

这将得到错误x is not Defined

你可以尝试:

setInterval(function(){
keepMove(value, spanArray);
}, 10);

关于javascript - 数字不断变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10687112/

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