【问题标题】:Nothing happens after Prompt提示后没有任何反应
【发布时间】:2015-07-06 09:56:48
【问题描述】:

对不起,我不够清楚。我需要它来列出从 0 到提示输入到 HTML 中的数字的所有数字。我做了一些建议的更改,但现在我只得到输入的特定数字的结果,而不是该数字之前的所有数字。我刚开始,所以请温柔。谢谢!

$(function() {

  var number = parseInt(prompt("Let me see a number:"));
  var result;

   for(var i = 0; i <= number; i++) {
    if ( i %15 == 0) {
            result = "Ping-Pong";
        }
        else if (i %5 == 0) {
            result = "Pong";
        }
        else if (i %3 == 0) {
            result = "Ping";
        }
        else {
            result = number;
        }
        document.getElementById("show").innerHTML = result;
};

});

【问题讨论】:

  • 但是您希望看到什么?
  • 您的数字变量在哪里说明?您正在“数字”变量中记录提示结果,但由于某种原因您使用“数字”变量。

标签: javascript if-statement for-loop prompt


【解决方案1】:

您可以:

for(var i = 0; i <= number; i++) {
 var digit = number[i]; // or any other assigment to new digit var

 if ( digit % 5 == 0) {
        return "Ping-Pong";
    }
.... rest of your code here.

 if ( number % 5 == 0) {
        return "Ping-Pong";
    }
.... rest of your code here.

【讨论】:

    【解决方案2】:

    问题是你在 return 关键字之后什么也没做。此外,您没有将变量声明为digit。我希望这就是您正在寻找的。​​p>

    带循环:

    $(function() {
    
      var number = parseInt(prompt("Let me see a number:"));
      var result;
      for (var i = 0; i <= number; i++) {
        if (i % 15 == 0) { // replaced `digit` with `i`
          result = "Ping-Pong";
        } else if (i % 5 == 0) {
          result = "Pong";
        } else if (i % 3 == 0) {
          result = "Ping";
        } else {
          result = number;
        }
        alert(result);
      }
    });
    &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"&gt;&lt;/script&gt;

    无循环:

    $(function() {
    
      var number = parseInt(prompt("Let me see a number:"));
      var result;
      if (number % 15 == 0) { // replaced `digit` with `number`
        result = "Ping-Pong";
      } else if (number % 5 == 0) {
        result = "Pong";
      } else if (number % 3 == 0) {
        result = "Ping";
      } else {
        result = number;
      }
      alert(result);
    });
    &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"&gt;&lt;/script&gt;

    【讨论】:

      【解决方案3】:

      好的,我想通了。为了将来参考,这是我试图做的:

        $(function() {
      
        var number = parseInt(prompt("Let me see a number:"));
        var i
        var text = "";
      
      for(i = 1; i <= number; i++) {
      
      
          if ( i %15 == 0) {
              text += "<br>" + "Ping Pong" + "<br>";
              }
              else if (i %5 == 0) {
              text += "<br>" + "Pong" + "<br>";
              }
              else if (i %3 == 0) {
                  text += "<br>" + "Ping" + "<br>";
              }
              else {
                  text += "<br>" + i + "<br>";
              }
      };
      document.getElementById("show").innerHTML = text;
      

      });

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-17
        相关资源
        最近更新 更多