bootstrap 自定义loading

参考:https://blog.csdn.net/William0318/article/details/102909640

1.loading html代码

在modal div上添加data-backdrop='static'

实现点击loading之外的范围loading不消失,否则点击弹出框之外范围loading自动消失。

2.显示隐藏loading函数

3.

async. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。

async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。设置async:false,loading加载也在请求数据完成后才显示。

ajax提交请求,beforeSend里面的loading不起作用

原因是ajax的async设置为false时同步提交。浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉。也就是你这个问题beforeSend里面好像没有执行。其实,已经进beforeSend里面了。只是,你里面的样式设置被阻塞掉了。解决方案:把它改成异步即可async:true。(默认,就是异步。可以直接省略不写。直接把async:false去掉即可)

你可能感兴趣的:(bootstrap 自定义loading)