浏览器的scroll()和resize()方法都是实时处理的,比如浏览器拉动浏览器的过程中一直在触发scroll(),浏览器的在改变大小尺寸的时候一直在触发resize(),如果在这两个方法里加上函数之后,会一直不间断的去处理,很可能造成浏览器负荷。
解决的方法就是延时,当然还有其他方法。比如,原先的处理方法是:
$(window).scroll(function()
{
alert();
});
拉动浏览器的过程中一直alert。
修改后:
var timer=0;
$(window).scroll(function()
{
if(timer)
{
clearTimeout(timer);
timer=0;
}
timer=setTimeout(function()
{
alert();
},300);
});
或者:
var timer=0;
$(window).scroll(function()
{
if(timer)
{
clearTimeout(timer);
timer=0;
}
timer=setTimeout(scroll_fn,300);
});
scroll_fn=function()
{
alert();
}