Slide 19
Slide 19 text
function decouple(node, fn) {
var eve, tracking = false;
function captureScroll(e) {
eve = e;
track();
}
function track() {
if (!tracking) {
requestAnimationFrame(update);
tracking = true;
}
}
function update() {
fn.call(node, eve);
tracking = false;
}
node.addEventListener('scroll', captureScroll, false);
}
function foo(eve) {
console.log(eve);
console.log(this.scrollTop);
}
var nodeBox = $$.querySelector('#box');
decouple(nodeBox, foo);