我的页面上有一个带有以下css的div:
.modal {
display: none;
position: fixed;
z-index: 1000;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba( 255, 255, 255, .35 )
url('/NoAuth/cf/ajax-loader.gif')
50% 50%
no-repeat;
}
/* Anytime the body has the loading class, our
modal element will be visible */
body.loading .modal {
display: block;
}
当使用以下方法进行 .ajax 调用时,我会在主体上添加或删除“加载”类:
jQuery(document).ready(function () {
jQuery('body').on({
ajaxStart: function() {
jQuery(this).addClass('loading');
},
ajaxStop: function() {
jQuery(this).removeClass('loading');
}
});
});
但很多时候,我发现在 ajax 调用期间,背景会改变颜色,但 gif 不会出现。但是,如果我转到 Firebug 控制台并键入jQuery('body').addClass('loading')
,图像就会显示出来。当我查看 Firebug 中的“Net”选项卡时,它显示在我输入 .addClass 命令之前它没有加载 gif。
我需要做些什么来预加载该背景以便它一直显示,或者我可以做些什么来防止这个问题?