我想在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>
您的设置方式无法实现。这是因为PHP的工作方式。
[当PHP嵌入到这样的HTML文件中时,它将在将页面发送给用户之前在服务器上运行。时间线像这样:
您可以看到,当用户看到任何东西时,所有的php代码都已经完成。
要在您的网页中获得任何形式的动态行为(像是加载栏),您必须使用JavaScript(或编译成JS之类的TypeScript)。这是因为JavaScript代码与HTML一起发送给用户,并在页面加载后由用户的浏览器执行。
大概是因为要运行一些需要一段时间的PHP代码,所以您希望显示进度表。您仍然可以这样做。除了将PHP嵌入HTML之外,您还可以制作一个独立的PHP文件来执行所需的任务,然后使页面上的JavaScript向该服务器发送第二个请求,并在显示其进度时得到结果。您要搜索的术语是“ PHP REST服务器”(用于服务器)和“ JavaScript XHR”或“ JavaScript获取”,用于从客户端发送请求。