테스트 사이트 - 개발 중인 베타 버전입니다

스크롤 이벤트 질문입니다. 채택완료

류세은 3년 전 조회 1,433

</p>

<p>$(window).scroll(function() {  </p>

<p>var f = true;</p>

<p>if($(document).scrollTop() > 99 && $(document).scrollTop() < 500) {

        if(f == true) {

            $('html').addClass('over_h');

            setTimeout(function() {

                $('html').removeClass('over_h');

            }, 2000);

            f = false;

        }

    }</p>

<p>});</p>

<p>

 

페이지에서 스크롤을 하다가 특정 구역에 도착했을 때 over_h(overflow:hidden을 걸어둔 클래스)를 추가한 후 일정 시간이 지난 후에 사라지게 하고 싶어서 제작한 부분입니다.

다른 부분들은 스크롤시 한번만 진행이 되는데 셋타임 부분은 스크롤 할때마다

over_h를 나타나게 했다가 사라지는 부분이 반복 실행되는데 한번만 실행되게 할 수 없을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

</p>

<p>var f = true;</p>

<p>$(window).scroll(function() {  

if($(document).scrollTop() > 99 && $(document).scrollTop() < 500) {

        if(f == true) {

            $('html').addClass('over_h');

            setTimeout(function() {

                $('html').removeClass('over_h');

            }, 2000);

            f = false;

        }

    }

});

 </p>

<p>

이렇게 한번 해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

류세은
3년 전
됐어요! 감사합니다.
해봤는데 안되길래 봤더니
여러개가 있을때는 var f = true; 요거를 개별로 따로 줬어야 했었군요 'ㅁ'....
만세 /'ㅁ'/

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인