【发布时间】:2014-10-02 07:45:38
【问题描述】:
我在向下滚动时显示一个元素并在再次向上滚动时隐藏它。如果不使用 setTimeout,这将按预期工作。但是,使用 setTimeout 会导致在向下滚动时在短时间内添加和删除“显示”类。如何在保持延迟的同时避免这种情况?
onscroll = function() {
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
if (scrollTop > 110) {
menuButton.classList.add('display');
} else {
setTimeout(function() {
menuButton.classList.remove('display');
}, 400);
}
}
【问题讨论】:
-
试过用clearTimeout取消setTimeout?
-
是的,但这并不能解决问题。
-
Nervermind,正确设置它修复了它。谢谢!
标签: javascript