未捕获的定义错误对此有任何解决方案吗?

问题描述

<!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 行是什么吗?