这是在C#,asp.net 4.0,带有剃刀标签的MVC3中完成的
我的相册每张最多有9张照片。图片保存在文件系统中并由数据库管理。我可以在我的控制器中构建整个对象并将其传递到视图中,该视图包含相册的所有数据库信息。但是,预加载潜在的数百张图像(这在视图中完成,而不是控制器)可能会在初始页面加载时非常密集 - 即使这意味着所有图像都会立即呈现。我的页面设计是这样的,有一个图像的滑动窗口,然后根据滑动窗口中的选择在页面下方显示相册。
a)我应该何时预加载或缓存这些图像?
b)我应该使用javascript预加载还是应该使用MVC3的某种结构来预加载/缓存图像?
我要做的是在将滑动窗口移动到新专辑时制作动画,并且在动画期间我将预先加载专辑的图像,但我愿意接受替代或建议非常感谢任何想法。
谢谢
答案 0 :(得分:3)
我建议沿着JS路径走下去,这样可以加载整个页面,然后你可以触发加载图像,这样页面在加载时仍然有用。
你可以为你的图像做一些这样的事情,你可以用#替换加载gif的链接。
<img src="#" delayed="http://mydomain.com/myimage.png"/ >
然后在页面完成加载后在JQuery中加载
$('img')。each(function(){$(this).attr('src', $(本).attr( '延迟')); });
这会将延迟的图像路径交换到src中并导致图像被加载。
有一个jquery插件可以在某个时刻执行此操作,但上次我看起来已经坏了。