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

w290601645 2013-03-20 09:30:45

$(window).scroll(function () {
if ($(document).scrollTop() + $(window).height() > $(document).height() - 1) {
alert(1);
}
});
//经测试 在chrome,ff中测试 向下滚动指触发一次,但是在ie6~ie8中 会触发2次
//有什么好的解决办法吗
...全文
412 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheNowWjj 2014-09-18
  • 打赏
  • 举报
回复
这样写貌似不怎么精确啊.. 我一次操作滚动的范围比较大怎么办?能有其他好一点的解决方式吗?
  • 打赏
  • 举报
回复
和resize事件一样,ie有这个问题,方法就是2#的用计时器来延时执行,然后clear掉最早一次的计时器
functionsub 2013-03-20
  • 打赏
  • 举报
回复
加一个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);
});
KK3K2005 2013-03-20
  • 打赏
  • 举报
回复
随便触发几次 对你应该没什么影响把

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧