如何在Post方法填充div之前显示加载图像

时间:2015-05-11 11:31:42

标签: jquery ajax post

我有一个非常简单的问题

我有以下POST方法脚本。由于它在下载内容时需要花费一些时间才能获得响应,因此我尝试在发送响应之前添加图像

脚本:

var posting = $.post(url, {
    im_core: 'priviewPropiedades',
    idPropiedad: val,
    idFeed: feedId,
    pais: pais
}).done(function (data) {
    var json = $.parseJSON(data);
    alert(json.Descripción);
    $('#Alquiler').html(json.Alqiler);
    $('#Celular').html(json.Celular);
    $('#Construcción').html(json.AConstruceon);
});

任何人都可以告诉我在post()方法调用中将图像合并到哪里

3 个答案:

答案 0 :(得分:1)

您可以在执行POST($ .post)调用之前放置/显示图像,并在触发成功处理程序时删除/隐藏它。

类似的东西:

var loaderImg = document.getElementById('#my-loader');
loaderImg.classList.add('visible');

$.post('some/url').done(function(){
    loaderImg.classList.remove('visible');
});

其余的只是CSS(实现可见类)。

答案 1 :(得分:1)

当您发送通过ajax获取数据的请求时,您可以在这些div上显示加载图像。一旦你得到响应,你可以完全更新该div的html,或者你可以隐藏该div中的加载图像。

答案 2 :(得分:1)

这是你可以为div添加的CSS(向它添加类overlay-bg),只是在ajax启动或停止时隐藏并显示它。

.overlay-bg { 
display: none; 
position: absolute; 
top: 0; 
left: 0; 
height:100%; 
width: 100%; 
cursor: pointer; 
z-index: 1000; 
background-image:url('../images/overlay.png'); // here load a downloader kind of image from google or anywhere
background-repeat:repeat; 
background-position:left top; 
}