使用脚本在任何网页上使用箭头键进行随机方 block 移动。我遇到错误,提示“e”不存在。
var page = document.getElementsByTagName("body")[0];
var bruhmoment = document.createElement("div");
bruhmoment.style.height = "100px";
bruhmoment.style.width = "100px";
bruhmoment.style.display = "block";
function getColor(){
var color = "#";
for(var i = 0; i < 6; i++){
color += ( Math.round(Math.random()) * 9 );
}
return color;
}
bruhmoment.style.backgroundColor = getColor();
bruhmoment.style.zindex = 1e9;
bruhmoment.id = "bruhmoment";
bruhmoment.style.marginLeft = "0px";
bruhmoment.style.marginBottom = "100px";
bruhmoment.xaxis = 0;
bruhmoment.yaxis = 0;
function move(e){
switch(e.which){
case 39:
xaxis += 10;
bruhmoment.style.marginLeft = xaxis + "px";
break;
case 37:
xaxis -= 10;
bruhmoment.style.marginLeft = xaxis + "px";
break;
case 38:
yaxis += 10;
bruhmoment.style.marginBottom = yaxis + "px";
break;
case 40:
xaxis -= 10;
bruhmoment.style.marginBottom = yaxis + "px";
break;
case 67:
bruhmoment.style.backgroundColor = getColor();
break;
}
}
page.onkeydown = move(event);
page.appendChild(bruhmoment);
在这段代码中可能存在错误的所有内容中,我不确定 JavaScript 是如何选择与该特定错误发生争执的。有人可以启发我吗?
最佳答案
page.onkeydown = move(event);
应该是 page.onkeydown = move;
将 onkeydown 处理程序设置为 move 函数。
另外,
bruhmoment.xaxis = 0;
bruhmoment.yaxis = 0;
应该只是
xaxis = 0;
yaxis = 0;
因为这就是它们在脚本其余部分中的使用方式,而且 DOM 元素无论如何都没有这些属性。
在 case 40:
之后还有一个拼写错误 - 它应该是 yaxis 而不是 xaxis。
marginTop,而不是marginBottom。
yaxis +=/-= 应该交换。
关于Javascript:函数参数未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65638303/