延迟PHP回声,而不停止页面?

时间:2011-06-04 10:13:16

标签: php echo delay

我希望在1秒延迟后绘制文本,而不会在所有延迟期间暂停页面加载。

有谁知道怎么做?

我有下面的内容,而不是绘制TIME和“Hello”,然后等待一秒钟并绘制“Goodbye”,接着是另一秒,最后是“The End”....它等待2秒然后绘制一切。

<?php

echo date('H:i:s');
echo "<br>";
echo 'Hello';
echo "<br>";
sleep(1);
flush();

echo 'Goodbye';
echo "<br>";
sleep(1);
flush();

echo 'The End';
?>

2 个答案:

答案 0 :(得分:3)

由于PHP是在服务器端执行的,因此在脚本执行完毕之前,用户将无法获得输出。要添加输出消息的可见延迟,您必须使用JavaScript或其他客户端执行的脚本语言。

答案 1 :(得分:1)

你可以用这种方式使用jQuery :(假设你的文本是用hello初始化的)

 $('#id-of-your-tag-containing-text').fadeOut(500, function() {
       $('#id-of-your-tag-containing-text').html("GoodBye!");
       $('#id-of-your-tag-containing-text').fadeIn(500);
       $('#id-of-your-tag-containing-text').fadeOut(500, function() {
              $('#id-of-your-tag-containing-text').html("The End!");
        });
       $('#id-of-your-tag-containing-text').fadeIn(500);
}); //Note that the number 500 represents the time delay in milliseconds.