用户停止滚动后执行jQuery事件(Pitcher)

时间:2015-02-25 14:23:04

标签: jquery html events scroll jquery-waypoints

我的页面上有一些jQuery事件存在问题。我正在开发一个只能通过名为Pitcher的系统在iPad上运行的网站。它本质上是一个普通的网站,但是Pitcher将其推送到设备并将其保存在线下。我正在使用Waypoints.js并且在浏览器中进行测试时我的事件正常启动 - 一旦页面到达触发事件的标记,但在Pitcher中它们仅在滚动完成后才开始。

正如您可能想象的那样,这会导致背景变化出现问题 - 用户需要停止滚动以查看更改。

这是我的jQuery代码:

$('.overlay').waypoint(function(direction) {
    if (direction === 'down'){
        $('#bg').removeClass('bg');
        $('#bg').addClass('bg2')
        $('.someclass').show();
    } else {
        $('#bg').removeClass('bg2');
        $('#bg').addClass('bg')
        $('.someclass').hide();
    }
}, {
    offset: -850
});

我只需要在用户仍在滚动时启动事件。任何关于如何解决这个问题的建议都将非常感激。

1 个答案:

答案 0 :(得分:0)

iOS 8是iOS的第一个版本,它会在用户滚动时正常触发滚动事件。之前的所有版本的iOS都会在滚动结束时触发一个事件,就像你在Pitcher看到的一样。

事情是...... 此新功能仅适用于Mobile Safari。使用Web视图的应用程序被赋予了一个劣质的JS引擎,并且最后只有一次消防卷轴。