我的代码必须是带有随机符号的树。我把setInterval每隔一秒更改一次,但没有任何反应,我也没有任何错误。 有人请告诉我我犯了什么错误,或者更多:)。
window.onload = intervalSetup;
function intervalSetup() {
'use strict';
setInterval(function() {
theTree();
}, 1000);
}
function theTree() {
'use strict';
var x = 8;
for (var i=0; i<x; i++) {
for (var j=x-1; j>i; j--) {
document.write(" ");
}
for (var k=0; k<=(i*2); k++) {
document.write(arraySigns[Math.floor(Math.random() * arraySigns.length)]);
}
document.write("<br>")
}
for (var i=0; i<2; i++) {
for (var j=0; j<(x*2)-3; j++) {
document.write(" ");
}
document.write("**<br>");
}
}
&#13;
答案 0 :(得分:2)
答案 1 :(得分:2)
脚本已通过写入文档删除了自己。这就是原因,这个功能从未被调用过两次。
有趣的错误,我想。 : - )
答案 2 :(得分:1)
第一个问题是未定义的数组,它已在编辑中修复。
剩下的问题是树木被无休止地写在页面上,很难看到符号的变化。
通过在每个新树之前清除的容器div中生成树,您可以很容易地看到符号每次都是正确随机的。
该代码段有一个工作示例,它通过添加到treeDiv的innerHTML来运行。 (为了便于阅读,我拿出了文件片段)
'use strict';
window.onload = intervalSetup;
var arraySigns;
var treeDiv;
function intervalSetup() {
arraySigns = ["*", "^", "&", "#"];
treeDiv = document.getElementById("theTreeDiv");
setInterval(theTree, 1000);
}
function theTree() {
treeDiv.innerHTML = '';
var x = 8;
for (var i=0; i<x; i++) {
for (var j=x-1; j>i; j--) {
treeDiv.innerHTML += " ";
}
for (var k=0; k<=(i*2); k++) {
treeDiv.innerHTML += arraySigns[Math.floor(Math.random() * arraySigns.length)];
}
treeDiv.innerHTML += "<br>";
}
for (var i=0; i<2; i++) {
for (var j=0; j<(x*2)-3; j++) {
treeDiv.innerHTML += " ";
}
treeDiv.innerHTML += "**<br>";
}
}
<div id="theTreeDiv">
</div>