说到 JavaScript 的初始化装载, 可能 onload 是被立刻想到的方法. 但是 onload 不是在 document 加载完成的时候调用的, 而是在页面所有元素 (包括图片等) 全部加载完成才会调用. 也就是说, 如果你的页面上有个尺寸很大的图片, 下载需要很长时间, 那么你的脚本就一直不能被初始化, 直到图片装载完成, 严重影响用户体验.
现在的问题是我在body 中 <body class="body" onload="winmargin();">
页面是在body 都生成后再根据我的设置再调整,就是有一个延迟了。不知道使用什么方法可以避免这样。
不用onload好像有一个on..什么的,不记得了,可以做到初始化,大家帮忙看看。谢谢哪位大哥帮帮解决一下啊?不胜感激!
现在的问题是我在body 中 <body class="body" onload="winmargin();">
页面是在body 都生成后再根据我的设置再调整,就是有一个延迟了。不知道使用什么方法可以避免这样。
不用onload好像有一个on..什么的,不记得了,可以做到初始化,大家帮忙看看。谢谢哪位大哥帮帮解决一下啊?不胜感激!
解决方案 »
- ajax基础问题
- jquery.autocomplete怎么对同名/ID控件添加事件,怎么在选择值后返回调用的控件?
- JavaScript,如何调用jQuery.OnReady函数中生成的函数
- javascript怎么新建一个DIV呢?
- jquery中ajax请求之参数url不能写绝对路径
- 请教这个校报功能么样的实现的(100分求教)高手指点
- js实现table的显示和隐藏???????????
- 在FireFox如何获取以"object"为标签的对象
- 如何实现将链接,连到某一个已经打开页面的某一帧中?(详细说明见内容)
- 为什么js全局变量不好使呢
- 关于ExtJs在浏览器上显示效果的问题
- js事件处理(jQuery转js)
如果是对body属性设置 margin 属性设置,可以在 body 之后直接调用函数(在前面应定义好)
IE没有相应的事件,但是IE的script标签支持defer。不过defer只对外联的JavaScript有效,也就是说直接放页面里的JavaScript即使是用了defer也没用。defer之后的外联JavaScript里面就可以直接调用函数了,不用再放onXXX里面。
至于怎么同时兼容IE和其他浏览器LZ就自己考虑下吧,其实网上也有很多文章讲了这个的,搜关键字“IE DomContentLoaded”
可以帮你解决这个问题
添加在在body的最最后面的位置