繁体   English   中英

如何在页面加载时异步加载图像并在加载时显示加载gif?

[英]how can I asynchronously load an image on page load and display a loading gif while it loads?

这是我的图片标签。 图像是从数据库动态生成的图。 涉及的数据量可能相差很大。 有时,它在不到一秒钟的时间内加载,而在其他时候,它最多可能需要6或7秒才能返回并显示图形图像。 我要做的是显示一个简单的占位符gif,直到加载了实际图像为止。

<img src="@Url.Action("Graph", new { id =  Model.ID })" alt="Graph is Loading..." />

完全不考虑您的ASP,您可以添加带有加载器作为源,将真实图像作为数据属性的元素,然后使用javascript加载图像,并在加载真实图像后交换图像:

<img src="loader.gif" data-src="/images/menubar.png" />

JS预加载

$('img').each(function() {
    var self = this,
        src  = $(self).data('src'), // get the data attribute
        img  = new Image();         // create a new image

    img.onload = function() {       // onload
        self.src = this.src;        // swap the source
    }

    img.src = src;                  // set source of new image

    if (this.complete) $(this).load();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM