0

我需要 JS 中的图像预加载器。图像由 PHP 脚本获取(以避免向用户打开文件结构)并设置为 img 标签的属性。预加载后,我们等待绑定为事件侦听器的事件被触发(有点像幻灯片)。

var preloadImage = $('<img />').attr('src', 'getimage.php');
preloadImage.onLoad = function() {console.log('finished')}

问题是,onLoad 当然不起作用,因为它处理的是 JS 中正在处理的图像,而在这种情况下,我们正在等待 PHP 完成获取图像。php脚本是这样的

<?php
header("Content-type: image/png");
readfile('image.png');
?>

任何人都知道在这种情况下我如何让 JS 等到 php 完成加载?

4

1 回答 1

1

正如 DaveRandom 在上面的讨论中完美地回答了这个问题,这里是最终代码。preloadImage 是一个 jQuery 对象,这意味着需要传递 .load() 函数。

var preloadImage = $('<img />').attr('src', 'getimage.php').load(function() {console.log('finished')})
于 2012-08-09T09:50:04.917 回答