【发布时间】:2012-11-26 09:12:56
【问题描述】:
编辑*
在我的文字游戏中,我添加了一个重新启动按钮。目前的问题是,当我按下它时,它会回到开始屏幕,就像它应该的那样。但是当第二次点击开始按钮时,它会带回之前已经玩过的游戏。我现在已将所有代码放入单独的函数中,以便我可以再次为新游戏运行它们。问题是我不知道如何清除最后一场比赛才能重新开始。单击此按钮时如何重新启动所有功能?
我有功能..
createGrid()
startplay()
restartplay()
keyPress()
backGroundSound()
dragEvent()
nextQuestion()
closeMessage()
replaySound()
backGroundImage()
我在一个 document.ready 函数中运行它们
$(document).ready(function () {
backGroundSound();
createGrid();
keyPress();
backGroundImage();
playBackGroundSound();
dragEvent();
$('.next-question').on('click', function () {
nextQuestion();
});
$('.close-message').one("click", function () {
closeMessage();
});
$(".replay-sound").click(function () {
replaySound();
});
//Click event to start the game
$(".start-btn-wrapper").click(function () {
startplay();
});
//Click event to restart the game
$(".restart-btn").click(function () {
restartplay();
});
单击重新启动按钮时,我希望它刷新功能,然后再次单击开始按钮时,为用户启动新游戏。如果不刷新页面,我将如何做到这一点?
我想在单击重新启动按钮时清除功能,然后在单击开始按钮时再次启动它们。
这个小提琴只有脚本在:http://jsfiddle.net/V4SYZ/
【问题讨论】:
-
这和java有什么关系?请适当标记您的问题。
-
你用 Java 标记了这个问题; Java and JavaScript are not the same thing.
-
restartplay()是做什么的?它是否已经运行了其他一些功能?如果游戏和这些功能是按照我的方式设计的,那么您只需运行您在$.ready()事件中开始运行的所有功能。如果是这种情况,我会通过将这一系列调用抽象为newGame()函数并在$.ready()和.restart-btn点击处理程序中调用它来保持干燥。我的猜测是restartplay()已经做了这样的事情? -
不,它只是添加和删除必要的类@Useless Code
-
我注意到您的代码中存在一些其他问题,语句
if (populationNumber >= 6) {将始终评估为false,populationNumber是一个数组,在这种比较中将被强制转换为整数1。 1 将始终小于 6,因此该语句始终返回 false。您可能指的是if (populationNumber.length >= 6) {,这意味着“如果populationNumber数组中有六个或更多项目”。涉及completionNumber的if语句也存在类似问题。
标签: javascript jquery