MVC3在视图中预加载许多图像

本文关键字:加载 许多 图像 视图 MVC3 | 更新日期: 2023-09-27 18:18:49

这是在c#, asp.net 4.0, mvc中使用razor标签完成的

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

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

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

我要做的是有一个动画,当滑动窗口被移动到一个新的相册,在动画期间,我将预加载相册的图像,但我是开放的替代方案或建议,并将非常感谢任何想法。

谢谢

MVC3在视图中预加载许多图像

我建议沿着JS路径,这将允许你的整个页面加载,然后你可以触发加载图像,这样页面在加载时仍然有用。

你可以为你的图片做一些类似的事情,在那里你用一个链接到加载的gif代替#。

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

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

$ (img) . each(函数(){$(这).attr("src",(美元).attr(延迟));});

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

有一个jquery插件可以做到这一点,但上次我看的时候它坏了。

编辑:看起来已经更新了