2011-11-03 40 views
1

我正在构建一个投资组合页面,其中包含相当多的图像。我从数据库中提取图像url,并从原始源创建缩略图,并显示缩略图。点击时,显示原始的全尺寸图片。预加载/ AJAX - 最佳方法?

加载时间obviuosly影响,该网站需要一些时间显示任何东西之前...

我试图把所有这一切在阿贾克斯,但似乎AJAX只是reqally有效的,如果该网站已开始加载。就像现在一样,该网站在等待完成工作的时候“挂起”。

任何关于将“请等待,而我iamges laod”部分放入容器中显示内容的任何想法?

在此先感谢。

+0

哇,Ajaz ?! :) – plaes

+0

快速的手指!并在离开办公室之前被推入...现在,这已经解决了......帮助!? –

回答

2

通常你创建你的页面发送图像ID,以HTTP处理程序,像

<img src="image-handler.ashx?id=SOME_ID" alt="..." /> 

在这里表现的关键是,你就可以从该处理程序缓存图像。您可以将生成的缩略图保存到磁盘并检查是否存在,如果然后使用类似Response.TransferFile()的文件发送文件(或者实际上在创建图像时创建缩略图文件,而不是加载它们),或者甚至更好,则应用输出缓存处理程序,与参数id键不同。

对于完整的图像也可以使用相同的技术。此外,您还可以在点击缩略图之前通过AJAX设置一些隐藏图像,以便在单击缩略图并显示完整图像时准备就绪。

根据我从问题中得到的细节数量,这些只是高层次的想法。