javascript - 我的变量不会附加

标签 javascript jquery html

我正在使用 javascript/JQuery 运行此 html 文档,在回答提示后,没有任何反应。附加功能似乎不起作用。

这是我的代码:

<!DOCTYPE html>
    <html>
        <head>
            <title>
                Rock Paper Scissors
            </title>
            <script>
                var userChoice = prompt("Do you choose rock, paper, scissors lizard or spock?");
                userChoice = userChoice.toLowerCase();
                var computerChoice = function(){
                    var choices = ["rock", "paper", "scissors", "lizard", "spock"];
                    var random = Math.random();
                    var loop = true;
                    while (loop){
                        i = 0.2;
                        j = 0;
                        if (random <= i){
                            var choices = choices[j]
                            var loop = false;
                        }
                        else {
                            i = i +0.2;
                            j ++;
                        }
                    }
                    return choices;
                };
            $(document).ready(function(){$("body").append(userChoice);});
            $(document).ready(function(){$("body").append(computerChoice());});
        </script>
        </head>
    <body>
    </body>
</html>

最佳答案

这有一些问题。

  1. 你没有像其他人指出的那样包含 jQuery
  2. 你对两个不同的值使用了变量 choices 两次
  3. 你的循环全错了,j 每次都重置为 0,所以你是 总是会选择“摇滚”
  4. 你实际上不需要一个循环,你只需要随机选择一个 数组成员

我已经为你整理了一下 - jsfiddle here http://jsfiddle.net/7DWhL/

<!DOCTYPE html>
<html>
<head>
<title>Rock Paper Scissors</title>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script>
var userChoice = "",
    computerChoice = "",
    choices = ["rock", "paper", "scissors", "lizard", "spock"];


$(document).ready( function(){
  userChoice = prompt( "Do you choose rock, paper, scissors lizard or spock?" );
  userChoice = userChoice.toLowerCase();
  computerChoice = choices[ Math.floor( choices.length * Math.random() ) ];

  $( "body" ).append( "<p>" + userChoice + "</p>" );
  $( "body" ).append( "<p>" + computerChoice + "</p>" );
});
</script>
</head>

<body>
</body>
</html>

关于javascript - 我的变量不会附加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19747217/

相关文章:

如果未选择复选框,则 Javascript 禁用按钮 - 问题

javascript - 如何让我的滑动条通过刷新保持位置

javascript - 对象数组的 Angular JSON 过滤器

javascript - 行政部分设计决策

html - 如何将伪元素定位得更高

javascript - Google Analytics 计时事件未发送

c# - 如何检查是否脏,但保存时不检查?

javascript - 在 Asp.net 页面上为什么 jquery 关闭按钮不起作用

javascript - 实时更新标签值不起作用

html - 将单个像素插入 HTML5 Canvas