两个概念:1,js是同步加载的
2,浏览器执行js程序,高于页面渲染
于是就出现了js更新dom,页面不能及时渲染的问题
代码例子:
document.body.html('为什么不先渲染我');
//程序
$.ajax({
url: '',
async: false
})
//运行结果会在ajax执行完毕后,再去渲染页面
解决办法:
1. 采用alert语句进行提示,alert语句会block住js线程,将执行权让给gui渲染线程,执行alert之后浏览器会把这个语句之前的所有对dom的操作都进行体现。
2,ajax放在setTimeout里