首先确认下js 是不是被设置成异步加载了 是否有下面的defer 或者async
IE
<script type="text/javascript" defer="defer">html5
<script type="text/javascript" src="demo_async.js" async="async"></script>如果确定不是异步 加载的
那再确认下初始化的js里的代码是否是在
$(document).ready(function(){
})
这里执行的?
然后用不同的浏览器测试下 是不是都一样重现
排出浏览器设置的因素
顺序非常重要!一般都是在页面之前加载js和页面元素加载完毕后 再加载js这两种方式相结合,例如jquery的 $(function(){ ..... })加载方式属于页面元素加载后(图片等信息加载前)再加载js ,而普通js作用域中,是js文件一旦被加载就立即执行。因为js中往往操作dom元素,如果在dom还没加载到页面的时候,就执行了相关的js 那么就会报错。区别就是在这里。而有时候提前加载js能够优化性能。所以我们要注意js的加载顺序。
onload加载完在执行你可以开始给body一个display:none 然后加载完后再显示
onload=function(){
$('body').css('display','block')
}