0

这是我的图像标签。该图像是从数据库动态生成的图形。涉及的数据量可能会有很大差异。有时它会在不到一秒的时间内加载,有时可能需要 6 或 7 秒才能返回并显示图形图像。我想要做的是显示一个简单的占位符 gif,直到加载实际图像。

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

1 回答 1

3

完全不考虑你的 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();
});
于 2013-11-14T17:02:33.477 回答