我的固定导航栏上有一条横幅。当我滚动浏览它并且我的导航栏到达浏览器的顶部时,它会在该位置开始不停闪烁。
我认为它与jquery toggleClass()
有关,但我不知道如何修复它。
当我检查该位置的导航栏时,它只是不断添加和删除has-monster-banner
类,导致它闪烁。
googletag.pubads().addEventListener('slotRenderEnded', function(event) {
if (event.slot.getAdUnitPath() === '/1025113/1220x200' && !event.isEmpty) {
jQuery('body').addClass('has-monster-banner');
jQuery(window).scroll(function() {
jQuery('body').toggleClass('has-monster-banner', jQuery(window).scrollTop() < 220);
});
}
}
我该如何防止这种情况?
答案 0 :(得分:1)
每次使用jquery时都会遇到闪烁的元素,想一想是什么原因造成的。显然你的切换功能永远被调用。我认为它可能与scrollTop有关。
你应该做的是决定何时应该停止调用该函数。然后通过使用标志变量执行如下操作
var flag = false;
if(mycondition && !flag){
Do whatever you want...
flag = true;
}
if(restart condition){
flag = false;
}