【问题标题】:I have hit a wall on my first proper project [closed]我在我的第一个合适的项目中遇到了困难[关闭]
【发布时间】:2021-04-08 15:49:34
【问题描述】:

首先,英语不是我的母语。我来自挪威,因此我可能会说我的英语很糟糕或诸如此类。如果我这样做了,我深表歉意。

鉴于这是我的第一个项目,我决定创建一些简单的东西,因此我选择了一个简单的报价生成器。该功能包含在 Javascript 文件中,这就是问题所在。我创建了一个包含所有引号的数组(现在它只包含三个用于测试目的的单词),当您点击按钮时,应该会在屏幕上的框内显示一个引号。问题是,当您单击按钮时,什么也没有发生,而我终其一生都无法弄清楚原因。我曾尝试在 Sublime 和 VS Code 中编写代码,只是想看看这是否与它有关,但似乎没有。 VS 代码在几个地方显示这两个错误:',' 预期的 ts 和预期的声明或语句。不幸的是,我没有足够的经验来理解这些意味着什么。查看代码时,请记住 cmets 以及应显示的文本都是用我的母语编写的。如果您希望我翻译,那么我很乐意这样做。我很沮丧,因为我已经尝试了很长时间。如果您愿意为我提供任何帮助,我将不胜感激。

function clicked(

//Her er banken med sitatene
let quotes = ["Test 1", "test 2", "test 3",]

// Denne velger ut et tilfeldig sitat
let = quotes[Math.floor(Math.random() * quotes.length)];

// Denne omgjør det tilfeldige sitatet til HTML
document.getElementByID("output").innerHTML = quotes_random;
)
body {
    background-color: #90dcff;
}


#container {
    height: 275px;
    width: 750px;
    margin: 0 auto;
    border: 5px solid #673B90;
    text-align: center;
    background-color:#F5A01F;
    position: relative;
    top: 300px;
    align-self: center;




}


#btn {
    background-color: #fdfb76;
    border: none;
    outline: none;
    margin: 50px auto;
    height: 50px;
    width: 250px;
    font-size: 22px;
    position: relative;
    top: 250px;
    align-self: center;
}

#btn:hover {
    cursor: pointer;
    cursor: hand;
    background-color: #e10086;
}



#output {
    margin: 25px auto;
    font-size: 26px;
    color: white;
    text-align: center;
    position: relative;
    bottom: -120px;
    align-self: center;

}
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>


        
    <div id="container">
        <button onclick="clicked()" id="btn">Trykk her for et visdomord</button>
     </div>
        

     <p

      id="output">Trykk på knappen for å generere et visdomsord
    </p> 

     <script src="main.js"></script>

</body>
</html>

【问题讨论】:

  • function clicked() { /* ...*/ }
  • ^ 那和代码有其他语法错误。 let = quotes[Math.floor(Math.random() * quotes.length)];let = 中有语法错误,缺少变量名的标识符。
  • 请写一个总结具体问题的标题:How do I ask a good question?

标签: javascript html arrays


【解决方案1】:

您的代码存在三个问题。

  1. 函数的语法是function name(paramters) {code},而不是function name(code)
  2. 您不能只拥有let 而没有参考名称。你忘了quotes_random在那一行。
  3. 您将document.getElementById 拼错为document.getElementByID。最后一个d很小,一直是驼峰式结构。

function clicked() {
  //Her er banken med sitatene
  let quotes = ["Test 1", "test 2", "test 3", ];
  // Denne velger ut et tilfeldig sitat
  let quotes_random = quotes[Math.floor(Math.random() * quotes.length)]; //let = quotes[Math.floor(Math.random() * quotes.length)];
  // Denne omgjør det tilfeldige sitatet til HTML
  document.getElementById("output").innerHTML = quotes_random; //document.getElementByID("output").innerHTML = quotes_random;
}
<div id="container">
  <button onclick="clicked()" id="btn">Trykk her for et visdomord</button>
</div>


<p id="output">Trykk på knappen for å generere et visdomsord</p>

我建议在您选择的网络浏览器上打开开发者控制台(通常按 F12)。

这将告诉您 JavaScript 解释器在哪里无法理解您的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-05
    • 2019-08-09
    • 2019-09-12
    • 1970-01-01
    • 2012-10-31
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多