2017-04-10 1 views
1

내 고정 된 navbar 위에 배너가 있습니다. 스크롤하여 내비게이션 막대가 브라우저 상단에 오면 그 위치에서 논스톱이 깜박이기 시작합니다.Jquery toggle() 내 탐색 표시 줄을 깜박이게합니다.

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

어떻게 방지 할 수 있습니까?

답변

1

jquery를 사용하는 동안 깜박이는 요소가 발생할 때마다 그 원인을 생각하십시오. Apperantly 토글 기능은 영원히 호출됩니다. scrollTop과 관련이있을 것 같습니다.

당신이해야 할 일은 그 기능을 멈추어야 할 때를 결정하는 것입니다. 그런 다음 플래그 변수 do를 사용하여 다음과 같이 수행합니다.

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