css样式总是在jquery ajax请求返回之后才会应用到页面,请问该怎么处理?

jquery 1.10.2 版本,想在 ajax 上传文件之前搞个 loading 效果,现在出了个奇怪的问题,通过以下代码:

$('body').append('<div id="loadingBg"></div>');
$('#loadingBg').css({
    'width': '100%',
    'height': '100%',
    'position': 'absolute',
    'background-color': '#000',
    'top': '0px',
    'left': '0px',
    'opacity': '0.6',
    'z-index': '20'
});

在 ajax 请求之前 loadingBg 这个节点到时能很快的加载到页面上来,但是这个样式却不应用,总是要等到 ajax 返回结果之后才会应用这个样式,请问这是为何呢?

我希望在加载了这个节点之后立马应用这个样式,该如何写呢?请大神支招,谢谢!

我发现普通的 ajax 请求是没有问题的,我这个是一个上传文件的 ajax 请求。

阅读 2.1k
1 个回答
const div = $('<div>').css({
    'width': '100%',
    'height': '100%',
    'position': 'absolute',
    'background-color': '#000',
    'top': '0px',
    'left': '0px',
    'opacity': '0.6',
    'z-index': '20'
})

$('body').append(div);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题