javascript loader in php foreach

javascript loader in php foreach

本文关键字:foreach php in loader javascript      更新时间:2023-09-26

我正在尝试制作一个小的javascript加载器。我的代码:

<?
//COUNT TOTAL PURCHASE INVOICES
$i = 0;
foreach($xml->tr as $purchase) 
{
    $i++;
}
$steps = 100 / $i;
$steps = str_replace(',', '.', $steps);

foreach($xml->tr as $purchase) 
{   
    ?>
    <script type="text/javascript" charset="utf-8">
    $(document).ready(function() 
    {
        var loaderValue = $("#loaderValue").val();
        newLoaderValue = parseFloat(loaderValue) + parseFloat("<?=$steps?>");
        $("#loaderValue").val(newLoaderValue);
        $(".connect_loader").width(newLoaderValue+"%");
    });
    </script>
    <?
}
?>

脚本有效,但问题是 javascript 在 php 准备就绪后运行,因此加载器以 100% 的速度一步完成。

有没有另一种简单的方法可以做到这一点?

你的问题有点令人困惑。

你必须知道PHP是使用服务器端和javascript客户端的。

脚本有效,但问题是 javascript 在 PHP 已准备就绪,因此加载器一步到 100%。

所以这种行为是正常的。

做你想做的事情的最好方法是创建一个Javascript函数,该函数执行Ajax调用并根据函数的结果递增加载器。

PHP 对

客户端不可见。服务器将处理代码的PHP部分并生成客户端将看到的html页面。
这意味着您不能在运行时使用 PHP。
尝试将您需要的任何值存储到 Javascript 变量中并改用它们。
理解这一点的一种简单方法是查看网页上的页面源代码...您可以看到生成的 html 代码。

我希望这能奏效。

<?php
//COUNT TOTAL PURCHASE INVOICES
$i = 0;
foreach($xml->tr as $purchase) 
{
    $i++;
}
$steps = 100 / $i;
$steps = str_replace(',', '.', $steps);
?>
<script type="text/javascript" charset="utf-8">
    $(document).ready(function() 
    {
        for(var x = 0; x <= <?php echo $i ?>; x++){
            var loaderValue = $("#loaderValue").val();
            newLoaderValue = parseFloat(loaderValue) + parseFloat("<?php echo $steps ?>");
            $("#loaderValue").val(newLoaderValue);
            $(".connect_loader").width(newLoaderValue + "%");
        }
    });
</script>