一旦它滚出视野,我试图让一个div坚持下去。
var jQ = jQuery.noConflict();
jQ(document).ready(function() {
var win = jQ(window);
var navTop = jQ('#navbar').offset().top;
win.scroll(function() {
jQ('#navbar').toggleClass('sticky', win.scrollTop() > navTop);
});
});
问题是,使用此代码时,navTop无法正确计算。如果我在滚动函数中计算navTop它按预期工作,但有一个可怕的闪烁效果,我认为是由于多次重新计算该值。
为什么在加载文档后没有正确计算出值?
答案 0 :(得分:2)
我用于此问题的修复是触发另一个滚动事件一次以计算navTop变量,现在它可以正常工作。
最终守则:
var jQ = jQuery.noConflict();
jQ(document).ready(function() {
var win = jQ(window);
var navTop;
jQ(document).one("scroll", function() {
navTop = jQ('#header').offset().top;
});
win.scroll(function() {
jQ('#navbar').toggleClass('sticky', win.scrollTop() > navTop);
});
});