2017-04-05 12 views
2

私はこのタイプの質問はすでに尋ねられていますが、 だから私はすべてをリセットするボタンをクリックにつながる機能GameOverScreen()を持っている。 私のボタンをクリックすると、ほとんどのコードが実行されますが、特定の行はありません。$('#gameOver').css('display', 'none');これを実行したい場合は、自分のボタンで何回かクリックする必要があります。ボタンを2回以上クリックして機能を起動する必要があります

私のHTMLにはクリックイベントがないことに注意してください、それは内部の入力と簡単なpです:

function gameOverScreen() { 
    $('#gameOver').css('display', 'block'); 
    propSound[0].pause(); 
    $('#restart').click(reset); 
}; 

function reset() { 

    //je remets mon bouton en position "on" 
    $('#start').css('margin-left', '0px'); 
    //mon avion reprend sa position initiale 
    planeHeight.css('display', 'block'); 
    planeHeight.css('top', '434px'); 
    planeHeight.css('transform', 'rotateZ(0deg)'); 
    //J'arrête l'animation de mon hélice 
    clearInterval(intervalIdAnimProp); 
    //J'arrête l'animation de mon bg 
    clearInterval(intervalIdanimBg); 
    //J'arrête le son 
    propSound[0].pause(); 
    //Le compteur se remet à zéro 
    speed = '000'; 
    $('#speedometer').val(speed); 
    //Désaffichage des mes flèches 
    $('#arrows').css('display', 'none'); 
    $('#display').val("Afficher"); 
    //background 
    $('#gameOver').css('display', 'none'); 
    bgSrc.css('background', 'url("sources/images/fond.jpg")'); 
}; 
:あなたの助けを事前に

<p>Pour recommencer la partie, cliquez sur le bouton :<input type="reset" id="restart" value="Recommencer"></p> 

おかげで、 はここに私のjQueryのコードです

編集:必要に応じてここにHTMLがあります。

<html lang="fr"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Mini jeux</title> 
    <script src="jquery-3.1.1.js"></script> 
    <script src="exercice17.js"></script> 
    <link rel="stylesheet" href="exercice17.css"> 
</head> 
<body> 
    <div id="main"> 

     <div id="playground"> 
      <div id="plane"> 
       <img src="sources/images/avion1.png"> 
       <img id="prop" src="sources/images/helice.png"> 
      </div> 
      <audio id="engine" src="sources/son/moteur.mp3" loop></audio> 
      <div id="arrows"> 
       <section id="up"><img src="sources/images/boutons.png"></section> 
       <section id="down"><img src="sources/images/boutons.png"></section> 
       <section id="right"><img src="sources/images/boutons.png"></section> 
       <section id="left"><img src="sources/images/boutons.png"></section> 
      </div> 
     </div> 

     <div id="cmd"> 
      <div id="onOff"> 
       <span>Démarrer/arrêter :</span> 
       <div id ="on"><img id="start" src="sources/images/on-off.png"></div> 
      </div> 
      <div id="compteur"> 
       <span>Vitesse :</span> 
       <input type="text" id="speedometer" value="000" size="1" max='270'> 
       <p>km/h</p> 
      </div> 
      <div id="instructions"> 
       <p>Après avoir démarrré, utilisez les flèches du clavier pour piloter l'avion. Sinon, vous pouvez activer/ désactiver les commandes tactiles : <input type="button" id="display" value="Afficher"></p>  </div> 
      <div id="flyButton"> 
      </div> 
     </div> 

     <div id="gameOver"> 
      <h1>GAME OVER</h1> 
      <p>Pour recommencer la partie, cliquez sur le bouton :<input type="reset" id="restart" value="Recommencer"></p> 
     </div> 

    </div> 

</body> 

+0

::のような

サムシング '$( "#リセット).on(")(リセット」をクリック);' – px06

+0

は、あなたの迅速な答えをありがとうのではなく、私のために働いてください... –

+0

ブラウザのコンソールを開いていますか? 'reset()'関数を実行するときにコンソールに表示されているものはありますか? – px06

答えて

0

私はこの回答について完全にはわかりませんが、<input type="reset">はすべてのフォーム(ある場合)の値をデフォルト値にリセットするために使用されます。私はあなたがここでそれをやろうとしているとは思わない。入力ボタンのtype<input type="button">のように変更してみてください。

+0

あなたの答えをありがとう、最後に 'visibily'、 'hidden'作品。 –

0

可視性を非表示にすると、さらにうまくいく可能性があります。 (あなたのコードが非常に特殊なようには完全にはわかりません)。あなたも試すことができ

$('#gameOver').css('visibility', 'hidden'); 
+0

そして勝者は... :)ありがとうございます!私はなぜ 'display' 'none'が動作しないのか分からないけど、今からこの解決策を考えてみよう! –

+0

甘い。私は実際にコメントを書くことができますので、私にupvoteしてください:D – Jamin

+1

まあ、あなたは私が喜んで、そうする方法を言った場合! –

関連する問題