Loading... Please Wait...
下面是一个包含AJAX方法的函数: function Handler(datas, ele) { ">
下面是一个div,它包含一个GIF动画:
<div id="busy">
<br />
Loading... Please Wait...
<br />
<img src="Resources/Scripts/loader.gif" alt="" />
</div>
下面是一个包含AJAX方法的函数:
function Handler(datas, ele) {
$('#busy').show();
$.ajax({
url: "FileUploadHandler.ashx",
type: "POST",
data: datas,
contentType: false,
processData: false,
success: function () {
ele.width = 100;
$('#busy').hide();
}
});
}
如您所见,我在目标div上使用了show并隐藏了它。但这根本没有用,我也不知道问题出在哪里?
发布于 2015-09-25 10:35:22
您需要设置beforeSend方法,以显示加载进度并在完成时隐藏它。只有在这种情况下,您才能保证在成功/失败时动画将被隐藏。
function Handler(datas, ele) {
$.ajax({
url: "FileUploadHandler.ashx",
type: "POST",
data: datas,
contentType: false,
processData: false,
beforeSend : function() {
$("#busy").show();
},
success: function () {
ele.width = 100;
},
complete: function() {
$("#busy").hide();
}
});
}
function showHide(){
if($('#busy').css("display") == "none"){
$('#busy').show();
} else {
$('#busy').hide();
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="busy">
<img src="https://rec.redsara.es/registro/img/loading.gif"/>
</div>
<input type="button" value="click" onclick="showHide()" />
https://stackoverflow.com/questions/32788531
复制相似问题