2011-12-22 68 views
2

这在C#正在做,asp.net 4.0,MVC3剃刀标签MVC3预加载许多图像鉴于

我有各有多达9张照片的相册。图片保存在文件系统中,并由数据库管理。我可以在我的控制器中构建整个对象,并将其传递到具有专辑所有数据库信息的视图中。然而,在初始页面加载时,可能会预加载数百个图像(这是在视图中完成的,而不是在控制器中完成的) - 即使这意味着所有图像都会立即呈现。我的页面设计有一个滑动的图像窗口,然后根据滑动窗口中的选择在页面中显示较低的相册。

a)何时应该预加载或缓存这些图像?

b)我应该使用JavaScript预加载还是应该使用MVC3的一些结构预加载/缓存图像?

我将要做的是在滑动窗口移动到新专辑时以及动画期间我将预加载专辑图像的动画,但我愿意接受替代方案或建议以及会非常感激任何想法。

谢谢

回答

3

我建议下去的JS路径,这样会使你的整个页面加载,然后就可以触发图像的加载,使得页面仍然是有用的,而他们正在加载。

你可以为你的图像做这样的事情,你可以用加载gif的链接替换#。

<img src="#" delayed="http://mydomain.com/myimage.png"/ > 

,然后在JQuery中一旦页面加载完成

$( 'IMG')。每个(函数(){$(本).attr( 'src' 中, $(这个).attr('delayed'));});

这将交换延迟的图像路径到src并导致图像被加载。

有一个jQuery插件来做到这一点,但最后一次看起来它被打破。

编辑:looks like it has been updated

+0

我结束了去JS的路线,但更多的是重新发明车轮策略。老实说,那些其他车轮不适合我的轮胎。 – 2011-12-28 20:32:13