首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

IE中 scroll事件会触发多次有关问题

2013-03-21 
IE中 scroll事件会触发多次问题$(window).scroll(function () {if ($(document).scrollTop() + $(window).

IE中 scroll事件会触发多次问题


$(window).scroll(function () {
        if ($(document).scrollTop() + $(window).height() > $(document).height() - 1) {
            alert(1);
        }
});
//经测试 在chrome,ff中测试 向下滚动指触发一次,但是在ie6~ie8中 会触发2次
//有什么好的解决办法吗

[解决办法]
加一个setTimeout试试。


var scrollTimer;
$(window).scroll(function () {
    if(scrollTimer) {
        clearTimeout(scrollTimer);
        scrollTimer = undefined;
    }
    scrollTimer = setTimeout(function(){
        if ($(document).scrollTop() + $(window).height() > $(document).height() - 1) {
            alert(1);
        }
    },300);
});

[解决办法]
和resize事件一样,ie有这个问题,方法就是2#的用计时器来延时执行,然后clear掉最早一次的计时器

热点排行