2015-11-29 2 views
0

Я изучаю jQuery анимационные функции и wirting небольшую игру, где пользователь должен щелкнуть движущийся div в установленный временной интервал. Игра воспроизводится так, что, когда время заканчивается, отображается итоговая оценка, а div дает пользователю возможность «начать снова», если пользователь нажмет на нее.jQuery: параметр «click» в функции .on() bypassed

Проблема с «началом снова» div, которое отображается, когда игра окончена.

Вот функция:

function GameOver(){ 
    $(".game-over").show(); 
    $("#total-score").text(points); 
    $(".anidiv").hide(); 
    $("#start-again").on("click", Reset()); 
} 

И div$("#start-again") ссылается:

<div id="start-again" class="game-over"> 
    <img src="Pictures\tryagain.png" id="tryagain"> 
</div> 

Через отладки я обнаружил, что, когда GameOver() вызывается первый параметр $("#start-again").on("click", Reset()); обойдена и Reset() является называется. Другими словами, Reset() вызывается автоматически, если пользователь не должен нажать $('#start-again). Так что я впервые решил, что это было $("#start-again").on("click", Reset()); в $(document).ready(), но этот доцент тоже работает, пользователь может нажать на него, но Reset() не вызван.

Очевидно, что проблема имеет какое-то отношение к позиции $("#start-again").on("click", Reset()); в сценарии, но, помимо выяснения вышеизложенного, я не слишком уверен, куда идти отсюда.

я опубликовал здесь проблема на JSFiddle

ответ

2

Я обновил скрипку для вас. Проблема была с Reset функцией

Это должно быть

$("#start-again").on("click", Reset); 

https://jsfiddle.net/6vLscpt0/1/

Смежные вопросы