如果一个页面 将会出现多个
window.onscroll=function(){..}
类似这样的语句。
页面从上到下,
已知 已经 先出现了一个window.onscroll=function(){..}
在下游 还将用到一个window.onscroll=function(){..}
这样的语句。,
那么,作为下游的代码。,为了不使代码重叠冲突,应该如何书写?
把后面的function 附加给给某个东西,
如果一个页面出现多个window.onscroll=function(){...}后果是只有最后一个正常运行。
解决方法可以使用jquery
$(document).ready(function(){
$(window).scroll(function(){alert(0)});
$(window).scroll(function(){alert(1)});
})
这样是不会相互替换函数的。
window.onscroll=function(){ alert('first scroll'); } var oldMethod = window.onscroll; if(typeof oldMethod == 'function'){ window.onscroll = function(){ oldMethod.call(this); alert('second method'); } }
或者用addEventListener(FF)跟attachEvent(IE)。
function addEvent(obj,type,fn){ if(obj.attachEvent){ obj.attachEvent('on'+type,function(){ fn.call(obj); }) }else{ obj.addEventListener(type,fn,false); } } addEvent(window,'scroll',function(){ alert('first method') }); addEvent(window,'scroll',function(){ alert('second method') });