首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替代(窗口).scroll

替代(窗口).scroll
EN

Stack Overflow用户
提问于 2012-11-04 23:49:02
回答 2查看 2.5K关注 0票数 0

可能重复: ScrollTop的Chrome真让人抓狂

我使用下面的代码来获得一个返回到顶部的按钮和一个导航,一旦用户滚动就会淡入。问题是它每次滚动时都会触发,因此导致滚动变得非常不稳定。是否有一种替代的方法来完成这个操作,这可能只触发函数一次?

代码语言:javascript
复制
    $(function () {
    $(window).scroll(function () {
        if ($(this).scrollTop() > 600) {
            $('#backToTop, #navigation').fadeIn();
        } else {
            $('#backToTop, #navigation').fadeOut();
        }
    });
    }); 

   });
EN

回答 2

Stack Overflow用户

发布于 2012-11-05 00:09:19

也许设置一个暂停..。

代码语言:javascript
复制
function scrollit(){  
    if ($(this).scrollTop() > 600) {
    $('#backToTop').fadeIn();
    } else {
    $('#backToTop').fadeOut();
    }
     }

var timer;

$(window).scroll(function () {

window.clearTimeout(timer);
timer = window.setTimeout(function(){ scrollit(); }, 2000);

    }); 
票数 1
EN

Stack Overflow用户

发布于 2012-11-04 23:54:18

您可以实现本·阿尔曼的jQuery节流阀插件。基本上,这限制了您的函数只能运行一定的时间。两者之间的区别在网站上得到解释:

简单地说:虽然节流将函数的执行限制在每毫秒延迟不超过一次,但取消保证函数只执行一次(给定指定的阈值)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13224207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档