• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 스크롤이벤트 리스너 중복 질문입니다

스크롤이벤트 리스너 중복 질문입니다

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #96201

    남지윤
    참가자
    1. 스크롤이벤트리스너 안의 코드는 1초에 60번 이상 실행됩니다. 
    그래서 스크롤 이벤트리스너는 많이 달면 성능저하가 일어나니 스크롤바 1개마다 1개만 씁시다. 
    
    
    2. 스크롤이벤트리스너 안의 코드는 1초에 여러번 실행되다보니 바닥체크하는 코드도 여러번 실행될 수 있습니다. 
    숙제2에서 alert가 2번 뜨고 그럴 수 있다는 뜻입니다.
    그걸 방지하고 싶으면 구글에 검색해보는 것도 나쁘지않습니다. 변수같은걸 활용하면 됩니다.
    
    
    $('.lorem').on('scroll', function() {
            var 스크롤양 = document.querySelector('.lorem').scrollTop; //div의 스크롤바 내린양
            var 실제높이 = document.querySelector('.lorem').scrollHeight; //div의 실제 높이
            var 높이 = document.querySelector('.lorem').clientHeight; //눈에보이는 div박스 높이
            var 여유 = 10
            var scrolled = false;
            if(스크롤양 + 높이 >= 실제높이 - 여유  && !scrolled ) {
                alert('내용의 마지막입니다.')
                scrolled = true;
            }
            
        });
    위 질문통해서 제가 작성한 코드인데 계속 중복으로 alert창이 뜹니다.. 문제점이 뭘까요ㅜ
    
    
    #96227

    codingapple
    키 마스터
     var scrolled = false; 를 이벤트리스너 밖으로 뺍시다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠