js更新dom后页面不及时渲染问题(js线程阻塞和解决办法)


两个概念: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里


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM