작성
·
213
0
강의를 보고 이해한거 토대로 직접 코드를 작성해보았는데요.
다 맞게 작성한 것 같은데 무한스크롤이 안됩니다.ㅠㅠ
로그를 찍어보니 data 변수가 제대로 선언되지 않은 것 같은데 왜 그런걸까요?... 선언하는 위치상으로도 문제가 없는 것 같은데 왜 안되는지 도통 모르겠네요 ㅠㅠ
답변 6
1
첫번째 코드가 작동하지 않는 이유는 스크롤을 할 때 winTop 과 onTop을 업데이트 하지 않아서 이구요
두번째 코드는 스크롤을할때 winTop 과 onTop을 업데이트 해줘서 동작하는 거랍니다 :)
그리고 변수 선언 부분은 지역변수로 선언 하느냐 전역변수로 선언하느냐의 차이겠죠!
전역 변수로 선언하더라도 수강생님이 작성한대로 작성하면 문제 없습니다 :)
그럼 또 다른 궁금증이 생길때 문의주세요 :)
0
0
안녕하세요 태인님 :)
winTop 의 값과 onTop의 값을 업데이트 한다는 말은
사용자가 스크롤을 할 때 두개의 값을 계속 업데이트 해준다는 의미입니다.(스크롤을 할 때 값이 바뀐다는 말이죠?)
$(window).scroll 이벤트에서
listCall함수를 계속 호출하죠??
이때 스크롤을 할때마다 listCall 함수 안에 있는 winTop, onTop 두개의 값이 계속 업데이트 되는겁니다.
두개의 값이 업데이트 될때는 새로운 스크롤탑 값과, 계산된 수식 값으로 업데이트 되는 거겠죠?
제시한 첫번째 코드는 lisCall 함수에서 winTop,onTop 두개의 값을 업데이트 하지 않죠?
첫번째 코드의 경우는 페이지가 로드 될때 딱 한번 winTop,onTop 두개의 변수에 값을 대입해주고 업데이트 해주지 않습니다.
그럼 또 다른 궁금증이 생길때 문의주세요 :)
0
0
그럼 winTop 과 onTop의 값은 꼭 사용되는 함수 안에서 설정해줘야 하나요?
첫번째 코드처럼 함수 밖에서 선언과 동시에 값을 적었더니 안되고, 두번째 코드처럼 선언은 밖에서 하고 값 지정만 함수 안에서 해줬더니 작동하더라구요...
이건 어떤 이유 때문일까요?..
0
안녕하세요 태인님 :)
1.console.log(data); //data 변수는 listCall함수의 지역변수이기 때문에 로그를 찍을때는 선언한 함수안에 작성해보세요
2.스크롤을 진행할때 winTop과 onTop 값이 업데이트 되어야합니다 :D
(잘찾아보세요)!
그럼 또 다른 궁금증이 생길때 문의주세요 :)