首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery切换()使我的导航栏闪烁

问Jquery切换()使我的导航栏闪烁
EN

Stack Overflow用户
提问于 2017-04-10 22:50:56
回答 1查看 83关注 0票数 1

我的固定导航栏上有一个横幅。当我滚动它,我的导航栏到达浏览器的顶部时,它开始在那个位置不停地闪烁。

我认为这与jquery toggleClass()有关,但我不知道如何修复它。

当我在该位置检查导航栏时,它只是不断添加和删除has-monster-banner类,导致它闪烁。

代码语言:javascript
复制
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);
        });
    }
}

我如何防止这种情况发生?

EN

回答 1

Stack Overflow用户

发布于 2017-04-10 23:00:06

每次使用jquery时,当您遇到闪烁的元素时,请考虑是什么原因造成的。显然,您的切换函数将永远被调用。我想这可能和scrollTop有关。

你应该做的是决定什么时候它应该停止调用那个函数。然后,通过使用标志变量执行以下操作

代码语言:javascript
复制
var flag = false;
if(mycondition && !flag){
    Do whatever you want...
    flag = true;
}
if(restart condition){
    flag = false;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43326377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档