需要在按钮上单击两次或更多才能触发功能

时间:2017-04-05 09:17:07

标签: javascript jquery html css

我知道这类问题已被提出,但我发现的答案从来没有对我的案件有所帮助。 所以我有一个函数GameOverScreen(),它导致点击按钮重置所有内容。 当我点击我的按钮时,我的大部分代码都已完成,但没有一行:$('#gameOver').css('display', 'none');如果我想要完成此操作,我必须在我的按钮上多次点击。

请注意我的HTML中没有任何点击事件,它是一个简单的p,其中包含输入内容:

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

先谢谢你的帮助, 这是我的jQuery代码:

 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")');
};

编辑:如果有必要,请点击我的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>

2 个答案:

答案 0 :(得分:0)

我不完全确定这个答案,但<input type="reset">用于将所有表单(如果有的话)值重置为默认值。我不认为你在这里试图这样做。您可以尝试将输入按钮的type更改为<input type="button">吗?

答案 1 :(得分:0)

如果隐藏其可见性,它也可能更好。 (不完全确定你的代码看起来非常具体)。

类似的东西:

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