Jquery滚动必须经常发射

时间:2014-10-09 07:19:58

标签: javascript jquery html google-chrome

我有代码:

$(window).bind('scroll', function() {
//doing funny things here
});

但滚动时我必须大量开火,就像firefox一样 滚动时Firefox会多次触发,但IE和Chrome只会触发一次 如何强制IE和Chrome在一个卷轴中更频繁地触发它? 或者还有另一种方法吗?

2 个答案:

答案 0 :(得分:1)

这是硬件,操作系统和浏览器的特征,没有什么可以影响的。 Firefox默认情况下“平滑滚动”,而其他浏览器只是以固定间隔跳转到新位置。但是,您还可以调整操作系统设置以及其他具有不同特征的触摸屏和触控板等输入设备。

答案 1 :(得分:0)

您可以使用此脚本实现此目的。 如果每次滚动时都没有,则会创建一个间隔,然后检查滚动何时停止并终止。只需调整间隔时间,当前设置为1ms即可达到所需的时间间隔。

<script>
    var interval;

    $(window).bind('scroll', function() {
        if(interval == null)
            interval = setInterval(function(){/*funny stuff*/ console.log("scrolling :D")}, 1);
            clearTimeout( $.data( this, "scrollCheck" ) );
            $.data( this, "scrollCheck", setTimeout(function() {
                console.log("stopped");
                clearInterval(interval);
                interval = null;
            }, 250) );
    });                 

</script>

编辑:
优化脚本。