2011-08-14 262 views
4

说我有这样的:通过AJAX加载内容和预加载图像?

$(function() { 
    $('a').click(function(e) { 
     e.preventDefault(); 
     var h = $(this).attr('href'); 
     $('#content').load(h); 
    }); 
}); 

这实际上不加载图像,以及它只是加载内容,你如何去太加载实际图像?

有些人似乎并不明白:我的意思是它确实会加载图像,但不会“预加载”,因此意味着您将亲眼目睹图像加载。

编辑:说在href等于somepage.html该网页上有它的图片以及内容,是的,它会载入图像和内容,但它实际上并没有在所有预载的图片,你仍然目睹单独加载的图像。如何在请求中预先加载图像?

+0

没有理由为什么在'$(本).attr从URL加载的任何'img'标签( 'href' 属性)'不应该加载图像。你的错误控制台(或JavaScript控制台,取决于浏览器)是否有任何错误? –

+0

@SimpleCoder我想你不完全理解问题的本质,是的图像加载,但不是“预加载”,因此意味着你正在目睹图像加载。 – daryl

+0

图像在其src'中使用相对路径,可能不是指向正在从其中载入内容的html页面指向正确的文件? –

回答

5

试试这个:

  1. 隐藏#content格,并在其上调用load。这将加载内容无形中使您的用户不会看到每幅图像之后
  2. 绑定load事件处理的图像加载,而当他们都开除,重新展现#content DIV

看到这个答案供参考:Know when images are done loading in AJAX response。它会告诉你到底该做什么。

+0

有趣的方法,让我测试一下。谢谢。 – daryl

+0

当然,没问题 –

+0

不错的感谢之一。 – daryl