Heim  >  Fragen und Antworten  >  Hauptteil

Die Klickfunktion löscht alle HTML-Elemente

<!DOCTYPE html>

<html>
<head>
</head>

  <button id="someid" onclick="open()">打开一包卡牌</button>
  <button id="somid" onclick="view()">查看车库</button>
<body>
  <p id="demo"></p>
</body>
<script>
  function open(){
  itms = ['2014 Nissan 350z', '2019 VW golf GTI ', '1995 Mazda 323 Protoge', '1990 BMW 8-series', '1990 ford mustang svt cobra', '1990 mazda rx7', '1990 nissan skyline gt-r'];
itm = itms[Math.floor(Math.random()*itms.length)];
    console.log(itm)
}
  function view(){
    document.getElementById("demo").innerHTML = ""+itm+""
  }
</script>
</html>

Ich weiß nicht, warum alle Elemente verschwinden, selbst wenn man auf eine der Schaltflächen klickt. Für diejenigen, die sich fragen: Ich versuche, eine Website für Sammelauto-Kartenspiele zu erstellen.

P粉574695215P粉574695215405 Tage vor576

Antworte allen(1)Ich werde antworten

  • P粉348088995

    P粉3480889952023-09-11 00:57:23

    open()已经是一个打开新页面的函数的名称,所以当按钮被点击时,会调用open()函数并打开一个空白页面。只需更改您的函数名称:

    <!DOCTYPE html>
    
    <html>
    <head>
    </head>
    
      <button id="someid" onclick="openpack()">打开一个卡包</button>
      <button id="somid" onclick="view()">查看车库</button>
    <body>
      <p id="demo"></p>
    </body>
    <script>
      function openpack(){
      itms = ['2014 Nissan 350z', '2019 VW golf GTI ', '1995 Mazda 323 Protoge', '1990 BMW 8-series', '1990 ford mustang svt cobra', '1990 mazda rx7', '1990 nissan skyline gt-r'];
    itm = itms[Math.floor(Math.random()*itms.length)];
        console.log(itm)
    }
      function view(){
        document.getElementById("demo").innerHTML = ""+itm+""
      }
    </script>
    </html>

    另外,考虑将您的代码更改为使用事件监听器和变量。这是更好的实践方法:

    const itms = ['2014 Nissan 350z', '2019 VW golf GTI ', '1995 Mazda 323 Protoge', '1990 BMW 8-series', '1990 ford mustang svt cobra', '1990 mazda rx7', '1990 nissan skyline gt-r'];
    let itm;
    
    document.getElementById('open').addEventListener('click', () => {
      itm = itms[Math.floor(Math.random()*itms.length)];
      console.log(itm)
    });
    
    document.getElementById('view').addEventListener('click', () => {
      document.getElementById("demo").innerHTML = ""+itm+""
    });
    <!DOCTYPE html>
    
    <html>
    <head>
    </head>
    <body>
      <button id="open">打开一个卡包</button>
      <button id="view">查看车库</button>
      <p id="demo"></p>
    </body>
    </html>

    Antwort
    0
  • StornierenAntwort