2017-04-10 81 views
1

我在我的固定導航欄上有一個標題。當我滾動瀏覽它並且我的導航欄到達瀏覽器頂部時,它會在該位置不停地閃爍。jquery toggle()讓我的導航欄閃爍

我認爲它與jquery toggleClass()有關,但我不知道如何解決它。

當我檢查那個位置的導航欄時,它只是繼續添加和刪除類,導致它閃爍。

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); 
     }); 
    } 
} 

我該如何預防?

回答

1

每次你在使用jquery的時候都會產生閃爍的元素,想想是什麼原因造成的。顯然你的切換功能被永遠調用。我認爲這可能與scrollTop有關。

你應該做的是決定何時停止調用該函數。然後通過使用一個標誌變量做如下

var flag = false; 
if(mycondition && !flag){ 
    Do whatever you want... 
    flag = true; 
} 
if(restart condition){ 
    flag = false; 
} 
+0

我不知道如何使用.stop()爲特定的部分,如<= 221 – anon123346