Maison  >  Questions et réponses  >  le corps du texte

La fonction de clic efface tous les éléments HTML

<!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>

Je ne sais pas pourquoi tous les éléments disparaissent, même en cliquant sur l'un des boutons, pour ceux qui se demandent, j'essaie de créer un site de jeux de cartes de voitures à collectionner.

P粉574695215P粉574695215405 Il y a quelques jours575

répondre à tous(1)je répondrai

  • P粉348088995

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

    open()已经是一个打开新页面的函数的名称,所以当按钮被点击时,会调用open() et ouvrez une page blanche. Changez simplement le nom de votre fonction :

    <!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>

    Envisagez également de modifier votre code pour utiliser des écouteurs d'événements et des variables. Voici une meilleure pratique :

    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>

    répondre
    0
  • Annulerrépondre