由于某种原因,这段代码不会在迭代之间暂停,我希望它在加载缩略图之间暂停一秒钟。我做错了什么?
foreach ($media->data as $data) {
echo "<img src=\"{$data->images->thumbnail->url}\">";
sleep(1);
}
答案 0 :(得分:2)
如果您希望生成的代码在终止脚本之前到达客户端,则可能必须强制刷新它:
foreach ($media->data as $data) {
echo "<img src=\"{$data->images->thumbnail->url}\">";
@ ob_flush();
@ flush();
sleep(1);
}
但这非常愚蠢,很可能会导致客户端格式化问题。你为什么不像其他人一样做,一次发送整个页面?
或者,为了更好地对客户端控制加载的内容和速度,请使用JavaScript。
答案 1 :(得分:1)
包含的代码是服务器端代码。它在服务器上运行,生成html,然后将其发送到客户端。因此,您可能会看到的唯一影响是,您的网页加载速度会更慢。
为了获得您想要的效果,您需要使用在用户浏览器中运行的javascript,并且可以动态生成具有暂停和动画以及其他效果的内容。
答案 2 :(得分:1)
此延迟仅发生在服务器上。页面和图像文件仍然需要下载到客户端并在那里呈现。如果你想要的东西实际上加载图像之间的延迟,你可能想要看一个加载图像的JavaScript方法。
答案 3 :(得分:1)
sleep
仅在服务器端发生(在输出到客户端计算机之前)。您需要通过js或css3选择器
你最好的选择是使用css3选择器而不是js,但你可以使用任何一个。
-webkit-transition: opacity 1s;
-moz-transition: opacity 1s;
transition: opacity 1s;