jquery scroll()和resize()增加延时处理示例

作者:袖梨 2022-06-25


浏览器的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();
}

相关文章

精彩推荐