Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用循环显示一系列数字,并在按键盘键时退出_Javascript_Php - Fatal编程技术网

Javascript 使用循环显示一系列数字,并在按键盘键时退出

Javascript 使用循环显示一系列数字,并在按键盘键时退出,javascript,php,Javascript,Php,我想点击a以使用循环显示一系列数字(就像我使用1到10000),当有人点击特定键时,它将停止显示数字,例如:按a 我使用了以下代码,但不起作用: for($i=0;$i<10000;$i++){ echo $i."<br/>"; } 我怎么做?提前感谢。您的JavaScript无法停止PHP代码。PHP被执行,响应被发送到浏览器,浏览器解析页面,然后执行JavaScript。您可以使用设置间隔功能设置间隔,并在按键事件中停止间隔 var i = 0; var intI

我想点击a以使用循环显示一系列数字(就像我使用1到10000),当有人点击特定键时,它将停止显示数字,例如:
按a

我使用了以下代码,但不起作用:

for($i=0;$i<10000;$i++){
    echo $i."<br/>";
}

我怎么做?提前感谢。

您的JavaScript无法停止PHP代码。PHP被执行,响应被发送到浏览器,浏览器解析页面,然后执行JavaScript。您可以使用
设置间隔
功能设置间隔,并在
按键
事件中停止间隔

var i = 0;
var intId = setInterval(function() {
    if ( i === 10000 ) {
      stopInterval();
    }
    i++;
    // ...
}, 2);

function stopInterval() {
   clearInterval(intId);
}

window.addEventListener('keypress', function(event) {
   if ( event.which === 13 ) stopInterval();
});

可能是这样,只需按A键即可停止

<html>
      <head>
            <title>Page Title</title>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
            <script>
                  $(document).keypress(function(e) {
                        if (e.which == 97){
                              stop();
                        }
                  });
            </script>
      </head>
      <body>

      <?php
      for($i=0;$i<10000;$i++){
                  echo $i."<br/>";
            sleep(1);

            echo str_repeat(' ',1024*64);

            flush();
      }
      ?>
      </body>
</html> 

页面标题
$(文档)。按键(功能(e){
如果(e.which==97){
停止();
}
});

您的JavaScript无法停止PHP代码。PHP被执行,响应被发送到浏览器,浏览器解析页面,然后执行JavaScript。逻辑是错误的,请定义“不工作”。好的。我们可以延迟php在页面加载后显示吗?当您按下enter键时,您可以对php页面执行AJAX调用。这些数字在不到一秒钟的时间内创建,也许您应该使用
sleep()
@bhumisah
keypress
处理程序清除间隔。您还可以使用常规
for
循环和标志变量。
<html>
      <head>
            <title>Page Title</title>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
            <script>
                  $(document).keypress(function(e) {
                        if (e.which == 97){
                              stop();
                        }
                  });
            </script>
      </head>
      <body>

      <?php
      for($i=0;$i<10000;$i++){
                  echo $i."<br/>";
            sleep(1);

            echo str_repeat(' ',1024*64);

            flush();
      }
      ?>
      </body>
</html>