当用户停止滚动时捕获事件

Capturing an event when user stops scrolling

我正在尝试在用户停止滚动时捕获事件,我已经阅读了 JavaScript Event API 但对于从哪里开始仍然有点困惑。

问题:当用户停止滚动时如何捕获事件?

使用超时:

var timer = null;

function done() {
  console.log('done scrolling');
}

window.addEventListener('scroll', function() {
    if (timer !== null) {
        clearTimeout(timer);        
    }

    timer = setTimeout(done, 150);
}, false);

演示:http://jsfiddle.net/fz79gmts/3/