Jquery RockPaperScissors游戏未按预期工作

时间:2016-06-01 12:25:12

标签: javascript jquery

在我的compare function我想在“标签”中添加课程'为了显示结果。

我想要实现的是

  • 点击.button addClass <label class="win">为获胜者
  • 并将addClass <label class="lose">添加到输家。

它几乎存在,但似乎并不一致。

点击computervcomputer按钮显示的模拟也是如此。

对不起小提琴,但这里的片段不起作用。 https://jsfiddle.net/e9ew0cne/1/

1 个答案:

答案 0 :(得分:0)

修改 在进一步理解问题后,回答完全修改。

        function compare(choice1, choice2) {
            if (choice1 == choice2) {

                $(".result").text("Tie!").addClass('tie');
                $(".reset").addClass('xs-block');
            } else if (
            (choice1 == "rock" && choice2 == "scissors") || (choice1 == "scissors" && choice2 == "paper") || (choice1 == "paper" && choice2 == "rock")) {
                $(".result").text("You win!").addClass('win');

                $('#'+choice1).next('label').addClass('win');
                $('#'+choice2).next('label').addClass('lose');

                $(".reset").addClass('xs-block');
            } else {
                $(".result").text("You lose!").addClass('lose');

                $('#'+choice2).next('label').addClass('win');
                $('#'+choice1).next('label').addClass('lose');

                $(".reset").addClass('xs-block');
            }

        };

我有a working fiddle,但我做的主要改变是上面的功能。我没有尝试通过<i>标记中的一组类来查找标签,而是将其切换为使用id标记的唯一button。这意味着将 jquery 从使用prev更改为next。另外原版中有一个错误,意味着计算机选择总是被标记为丢失......