php完全加载后显示Javascript

时间:2018-09-03 20:18:00

标签: javascript php pace

我正在尝试创建某种加载条,使其在启动php时启用,并在php完成时停止。

我有一段php代码,它读取文件并将其过滤并使用sql上传到数据库:

if(isset($_POST['submit']))
{
    echo "
    <script>
        Pace.start;
    </script>";
    $file = $target_file;
    $fp = fopen($target_file,'r') or die ("can't open file");

    for($i = 0, $line = count(file($file)); $i < $line; $i++)
    {
        $s = fgets($fp,1024);
        $Geslacht = substr($s,0,1);
        $Categorie = substr($s,1,1);
        $Borstnr = ltrim(substr($s,2,4),'0');
        $Naam = trim(substr($s,6,25));
        $GeboorteJ = substr($s,31,2);
        $GeboorteM = substr($s,33,2);
        $GeboorteD= substr($s,35,2);
        $Club = trim(substr($s,37,4));
        $Provincie= substr($s,54,1);

        $sql = "INSERT INTO atleten2K18 (Geslacht, Categorie, Borstnr, Naam, GeboorteJ, GeboorteM, GeboorteD, Club, Provincie ) VALUES
                ('$Geslacht', '$Categorie', '$Borstnr', '$Naam', '$GeboorteJ', '$GeboorteM', '$GeboorteD', '$Club', '$Provincie')";
        $conn->query($sql);
    }
echo "
    <script>
        Pace.stop;
    </script>";
}

当我按下表单按钮“提交”时,这段代码开始。

大约24k行的子字符串需要一段时间,所以我很难使用JS加载栏。发现了一些PACE,NProgress等。在此示例中,我在文档中使用PACE的原因是sais Pace.start应该显示加载栏,而Pace.stop停止加载栏。我已通过以下示例对此进行了尝试:

if(isset($_POST['start']))
{
    echo "
    <script>
        Pace.start;
        Pace.options = {
            ajax: false
        }
    </script>";
}

这很好用。但是上面我的代码的问题是,在for循环完成之前,它不会显示加载栏。 (我的强项是php代码阻止JS和HTML加载栏加载)

有人知道如何解决此问题吗?还是解决方法?

0 个答案:

没有答案