这可能是一个简单的问题,但我很困惑,只是不知道从哪里开始。
我有一个返回图像 URL 的 PHP 脚本 (image_feed.php)。每次调用此 URl 时,它都会返回可用的最新图像(图像每几秒钟更改一次)。
我想要发生的是,当页面加载时,有一个对 image_feed.php 的 AJAX 调用,它返回最新的 url。然后将该 URl 插入到 HTMl 中,替换适当的图像 src。
5 秒后,我希望重复该过程,并更新图像。但是,我不希望图像在完成加载之前被交换,并且我想避免在新图像加载之前出现空白。
目前我有以下jQuery,它只是将image_feed.php的返回值直接加载到一个名为#image1的div中。image_feed.php 的格式正确,可提供 html 图像标记。
$(document).ready(function(){
var $container = $("#image1");
$container.load('image_feed.php?CAMERA_URI=<?=$camera_uri;?>')
var refreshId = setInterval(function()
{
$container.load('image_feed.php?CAMERA_URI=<?=$camera_uri;?>');
}, 5000);
});
这行得通,但有一个问题。每次图像刷新时,我都会在 IE 和 Firefox 中得到一个与图像大小相同的空白,因为下载图像需要一段时间。
我知道我需要让 image_feed.php 将纯 URL 返回到图像。然后我使用一些 jQuery 来请求这个 URL,预加载它,然后用现有的图像交换它。
然而,我仍然在努力去任何地方。有人可以给我一些指示/帮助吗?