问题描述
<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="UTF-8">
<Meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Speed typing game</title>
<script src="speed.js" defer></script>
<link rel="stylesheet" href="speed.css">
</head>
<body>
<input type="button" value="Start game!" class="button">
<div class="letter">A</div>
<div></div>
</body>
</html>
我如何解决这个错误,它在第 59 行,所以你知道它在哪里,我必须给我试过但没有用的字母赋值吗? speed.js:59 未捕获的类型错误:无法设置未定义的属性“顶部” 在 speed.js:59 ```让max=10 var 字母 = 'A' 让颜色=“紫色” 让 right='right' 无功顶='顶' var startbutton=document.querySelector('input[type=button]')
startbutton.addEventListener("click",startgame)
// start the game with a random number,hide the button//
function startgame() {
startbutton.classList.add("hidden")
let interval = 1000
setInterval(createNewLetter,interval);
}
/*generate random number between 1-8 */
function randomNumber(min,max) {
return Math.floor(Math.random() * ( max+ 1))
}
// generate a random letter //
function randomLetter() {
//generam un cod Ascii intre 65('A') si 90('Z') //
let codeofA= "A".charCodeAt(0);
let codeofZ= "Z".charCodeAt(0)
let randomCode= randomNumber(codeofA,codeofZ);
// convertim codul ascii in caracterul asociat lui //
return String.fromCharCode(randomCode)
}
// genereaza o culoare aleatorie //
function randomColor() {
let red = randomNumber(0,255)
let green = randomNumber(0,255)
let blue= randomNumber(0,255)
return 'rgb(${red},${green},${blue})'
}
// genereaza o pozitie aleatorie intre 0% si 90% //
function randomPosition() {
let position = randomNumber(0,90)
return '${position}%'
}
// creaza un nou element div cu o litera aleatorie //
// adaugarea elementului in html//
function createNewLetter() {
let letter = randomLetter()
let color= randomColor()
let top = randomPosition()
let right= randomPosition()
}
// cream un nou element div //
let div = document.createElement("div")
// adaugam o clasa letter //
div.classList.add("letter")
//adaugam un nou stil si o noua culoare literei //
div.style.backgroundColor = randomColor
// adaugam o pozitie literei //
div.Style.top = top
// pozitionam litera //
div.Style.right = right
// cream un element body //
document.querySelector("body").appendChild(div)
解决方法
更新:
需要更换
div.classlist.add("letter")
与
div.classList.add("letter")
错误是说您尝试添加的任何元素,在第 54 行,都是未定义的。
看看你的代码,要么是 startbutton 要么是 div,这些是唯一与“add”相关联的元素。
你能把完整的文件贴出来让我们看看第 54 行是什么吗?