【发布时间】:2012-06-10 20:10:29
【问题描述】:
这可能是一个简单的问题,但我很困惑,只是不知道从哪里开始。
我有一个返回图像 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,预加载它,然后用现有的图像交换它。
但是,我仍然难以到达任何地方。有人可以给我一些指点/帮助吗?
【问题讨论】: