我希望在页面上加载一些XML内容时,在我的页面上显示一个带有加载动画的div
。一旦加载,我想隐藏这个div。我怎么能这样做呢?
答案 0 :(得分:8)
$.ajax({
url: '/test.xml',
beforeSend: function(XMLHttpRequest) {
// Show the div before sending the request
$('#load').show();
},
complete: function(XMLHttpRequest, textStatus) {
// Hide the div no matter if the call succeeded or not
$('#load').hide();
},
success: function(xml) {
// if the request succeeds do something with the received XML
}
});
答案 1 :(得分:3)
$.ajax({
type: "GET",
url: "your.xml",
dataType: "xml",
beforeSend: function() {
$('#div').fadeIn();
},
success: function(xml) {
// example for parsing xml
$(xml).find('YOUR_XML_TAG').each(function(){
// append xml to page HERE
});
},
complete: function() {
$('#div').fadeOut();
}
});
答案 2 :(得分:2)
@cballou如果$ .ajax()因各种可能的原因没有成功,你的代码将会“#div”“up”。
答案 3 :(得分:1)
几乎正确;) 永远不要低估删除冗余$()调用的重要性。所以...
//all of this is inside some closure or function
var $blanket = $("#div") ;
// check if after last call, something has possibly removed your '#div'
// throw if false
ASSERT( $blanket.length === 1 ) ;
$.ajax({
type: "GET",
url: "your.xml",
dataType: "xml",
beforeSend: function() { $blanket.fadeIn();
},
success: function(xml) {
// example for parsing xml
$(xml).find('YOUR_XML_TAG').each(function(){
// append xml to page HERE
});
},
complete: function() { $blanket.fadeOut();
}
});
- DBJ
答案 4 :(得分:0)
我会使用页面网址更改时触发的onbeforeunload事件来创建不透明度为0.5的叠加div,在加载页面时将替换为新内容。