PHP循环运行时加载动画

问题描述 投票:-1回答:1

我想在php循环(for循环)运行时放入加载动画可以说这是一个有10个数字的for循环。我想显示一个动画1 loading ..当秒数开始时,它显示2仅加载(不同时显示1和2)希望您能正确理解我的问题。能否对此提供帮助

 <html>
<head>
<style>
.loading:after {
  content: ' .';
  animation: dots 1s steps(5, end) infinite;}

@keyframes dots {
  0%, 20% {
    color: rgba(0,0,0,0);
    text-shadow:
      .25em 0 0 rgba(0,0,0,0),
      .5em 0 0 rgba(0,0,0,0);}
  40% {
    color: white;
    text-shadow:
      .25em 0 0 rgba(0,0,0,0),
      .5em 0 0 rgba(0,0,0,0);}
  60% {
    text-shadow:
      .25em 0 0 white,
      .5em 0 0 rgba(0,0,0,0);}
  80%, 100% {
    text-shadow:
      .25em 0 0 white,
      .5em 0 0 white;}}


</style>
<script type="text/javascript">

</script>
</head>
<body>               
<?php
$i=0;
for ($i=0;$i <= 10; $i++)
{
  echo "  <p class='loading'>$i Loading</p>";
}
?>
  </body>
</html>
javascript php css loading
1个回答
0
投票

您的设置方式无法实现。这是因为PHP的工作方式。

[当PHP嵌入到这样的HTML文件中时,它将在将页面发送给用户之前在服务器上运行。时间线像这样:

  1. 用户请求页面
  2. 服务器找到该页面的文件
  3. 服务器在每个块中运行代码,并将结果替换为php标记。
  4. 服务器将生成的HTML文档发送给用户

您可以看到,当用户看到任何东西时,所有的php代码都已经完成。

要在您的网页中获得任何形式的动态行为(像是加载栏),您必须使用JavaScript(或编译成JS之类的TypeScript)。这是因为JavaScript代码与HTML一起发送给用户,并在页面加载后由用户的浏览器执行。

大概是因为要运行一些需要一段时间的PHP代码,所以您希望显示进度表。您仍然可以这样做。除了将PHP嵌入HTML之外,您还可以制作一个独立的PHP文件来执行所需的任务,然后使页面上的JavaScript向该服务器发送第二个请求,并在显示其进度时得到结果。您要搜索的术语是“ PHP REST服务器”(用于服务器)和“ JavaScript XHR”或“ JavaScript获取”,用于从客户端发送请求。

© www.soinside.com 2019 - 2024. All rights reserved.