最近做了一个漂浮面板,实现的功能就是拖动滚动条的时候该面板相对固定在页面的某一位置。找了一段简单的代码很容易就实现,但其中一个小问题引起我的注意。原来用到的js是在body 里通过onload来实现的,但现在的小页面可以定要嵌入到其他页面,如果还是使用这样的方式,容易和其他事件发送冲突,即使现在不会以后维护起来也不方便,于是就想着是否可以通过其他方法来替代onload方法。

由于自己对js尚处于入门阶段,所以请教了下身边的高手,探得两种解决方法:

其一:

  1. window.onload=function(){functionName()}//通用body onload方法

其二:

  1. function LoadattachEvent(o,name,fun)//更兼容的body onload方法 {  return document.all ? o.attachEvent(name,fun) : o.addEventListener(name.substr(2),fun,false); }  LoadattachEvent(window,"onload",functionName);

第一种方法简单明了,一句话即可实现该功能;但适用在该函数没有带参数的情况,如果带参则无法实现。

而第二种方法就相对比较保险,带参不带参均可使用,扩展性比较好,就是敲的代码多了些。

 不过两种方法的兼容性都很好,在各主流浏览器下全兼容。

如果你有更好的方法,别忘了告诉下俺,让俺也学一招。。。

点击查看效果:demo演示