Jquery:如何在已经缓存的图像上放置触发器?

时间:2010-04-05 18:31:21

标签: javascript jquery

请参阅:http://flx.me/h/0504/

来源:http://pastebin.com/bDh5k3Qd

jquery.preload-min.js:http://jquery.com/plugins/project/Preload

jquery.jplayer.min.js:http://www.happyworm.com/jquery/jplayer/0.2.4/developer-guide.htm

我正在使用jquery.preload-min.js预加载图片并向jquery.jplayer.min.js发送播放触发器以开始播放mp3文件。

这在第一次查看页面时很有效(或强制重新加载所有内容)。但是,当图像已经被缓存时,它不会使用预加载脚本,因此不会将播放触发器发送给jplayer。

即使图像被缓存,如何让它发送播放触发器?

提前谢谢你,

丹尼斯

2 个答案:

答案 0 :(得分:4)

您可以这样做:

$("image_selector_here").each(function() {
  if(this.complete) $(this).load();
});

这会触发缓存图像(this.complete == true)的加载事件,而浏览器本身并未触发.load()事件。

答案 1 :(得分:0)

1问题是 - 如果图像被缓存,则 onComplete 不起作用,因为不会发送对服务器的请求。

2据我所知,您的代码中不需要为每张图片设置 onComplete 回调..您可以尝试 onFinish 事件吗?

3执行此任务的最佳方法是编写自己的预加载器:)