在客户端计算机中加载实际图像时如何显示忙图像

我将通过jquery调用我的服务器端方法,我的服务器端方法只会给出一个像的html

从服务器端function获取图像url后,我只是将html推入我的div但我想在客户端加载何时图像然后我想显示一个忙碌的图像。 所以我打算编写如下代码

第一个代码调用服务器端方法

 $.ajax({ url: 'image-map.aspx', data: {}, // the image url links up in our fake database dataType: 'html', success: function (html) { // because we're inside of the success function, we must refer // to the image as 'img' (defined originally), rather than 'this' var img = $(html); $(img).load(function() { //alert('Image Loaded'); }); $('#myidv').append(img); } }); 

所以我只需要知道我的代码是好的。 它是否有效以及如何显示微调器图像直到客户端的图像下载?

首先,你应该将img附加到onload函数中,如下所示:

 $(img).load(function() { $('#mydiv').append(img); }); 

这样,只有在完成加载后才会插入图像。

对于加载部分,有许多方法,但一种方法是将加载图像放在目标元素(#mydiv)中,并在附加新图像时同时删除该图像。 像这样的东西:

 $.ajax({ beforeSend: function() { $('#mydiv').append($(); }, success: function(html) { var img = $(html); $(img).load(function() { $('#mydiv .loading').remove(); $('#mydiv').append(img); }); } });