【发布时间】:2016-07-29 11:09:18
【问题描述】:
我需要一个粘性条在特定滚动后可见并固定。我打算使用滚动事件,然后我遇到了 Mozilla 页面,该页面建议使用window.requestAnimationFrame,如下所示:
var last_known_scroll_position = 0;
var ticking = false;
function doSomething(scroll_pos) {
// do something with the scroll position
}
window.addEventListener('scroll', function(e) {
last_known_scroll_position = window.scrollY;
if (!ticking) {
window.requestAnimationFrame(function() {
doSomething(last_known_scroll_position);
ticking = false;
});
}
ticking = true;
});
我有几个问题:
1 - 打勾的逻辑是什么?
2 - 在我看来,滴答声总是正确的,因为 if 语句没有返回任何内容。这将导致 doSomething 函数只会被调用一次。我想我错了,我错过了什么?
【问题讨论】:
-
我刚刚检查过,它有效,但为什么?
标签: javascript dom-events mozilla requestanimationframe