我正在使用以下代码来显示一个纺车:

$("#loading")
.hide()
.ajaxStart(function(){

    $(this).show();
    setTimeout("3000");
})
.ajaxStop(function(){

    $(this).hide("slow");
})
;


和:

<div id="loading">
            <img src="loading.gif" alt="Loading" />
</div>


问题:
“ setTimeout()无法正常工作。如何在网页中心显示图像?”

最佳答案

我不明白为什么要使用计时器,您可以简单地在ajax请求开始时将其打开,然后在成功或错误时将其关闭,例如:

$('#loading').show();

$.post(url, request)

    .success(function(data) {
        $('#loading').hide();
        // Do what you want with data
    })

    .error(function(data) {
        $('#loading').hide();
        // Show error message
    });


要将加载的图片放在页面的中间,请确保其容器位于高度为100%的父容器中,并且如果是嵌套的,请确保其父容器都不为position:relative

#loading {
    position:relative;
    width:100%;
    height:100%;
}

#loading img {
    margin-top: -12px; // Half images height;
    margin-left: -12px; // Half images width;
    position:absolute;
    top:50%;
    left:50%;
}

OR

#loading {
    width:100%;
    height:100%;
}

#loading img {
    width:24px // Images width
    height:auto; // If Image size changes don't mess with proportions
    margin:0 auto;
    margin-top:48%;
}

08-27 20:59