在下面的代码中,我试图在ajax请求之前显示div,在完成之后我想隐藏div。 hide()工作正常,但show()不起作用。 它在Firefox中运行良好。
$("#btnpst").click(function () {
$('#dvloading').show();
$.ajax({
url: url,
type: "POST",
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data, st) {
if (st == "success") {
$('#dvloading').hide();
}
},
error: function () {
$('#dvloading').hide();
}
});
} //<
});
HTML
<div id="dvloading" style="width: 480px; height: 320px; position: absolute; overflow: hidden;">
<image src="../loading_2.gif" style="margin-top: 120px;">
</div>
答案 0 :(得分:0)
我认为您在本地进行测试并且响应非常快。 为什么不改变这一行
$('#dvloading').hide();
到这个
setTimeout(function(){$('#dvloading').hide();},5000);
看看是否属实。另外,检查javascript控制台中是否存在与js相关的错误
会很有帮助答案 1 :(得分:0)
“如果我将警报置于hide()之上,我就能看到它”。 “没有警报就不可见.ajax通话大约需要10秒”
这两个陈述似乎有点矛盾,如果你的DIV
实际显示然后被隐藏并且ajax调用大约需要10秒,那么它应该没有警报框就显示出来了。我真的怀疑是否ajax调用大约需要10秒钟。
这是一个说明你的场景的小提琴,我已经从ajax调用中删除了内容类型属性并使用了flickr的json响应页面。工作正常。