페이징.페이지고정2 질문드립니다.
459
3 asked
안녕하세요 선생님
강의 리소스에는 li가 html에 작성되어있지만
저는 자바스크립트를 이용하여 section 갯수에 맞춰서 li도
그 갯수에 맞춰서 생성해주고 싶어서 반복문 코드를 짜봤습니다.
ex) section 갯수가 8개면 li 갯수도 8개로 자동생성
생성은 되었습니다. 그러나 아직 li의 인덱스를 받아오는 코드를 작성하진 않았어요
스크롤을 하였을 시 pageNum 의 i 값이
pageChangeFunc의 함수안에서 remove 혹은 add 가 작동되지 않습니다.
(오류가 스크롤 했을 시 뜹니다.)
<--- F12에서는 이렇게 뜹니다. --->
Uncaught TypeError: Cannot read properties of undefined (reading 'classList')
at pageChangeFunc (4.html:120:33)
at 4.html:114:17
저는 section 갯수에 맞춰서 li갯수를 생성하려고 appendChild를 사용하였습니다.
저의 부족한 지식으로 유추해본 생각이지만 li를 생성하고 난 뒤여서 스크롤이벤트가 안먹혀서 그런건지...
아니면 classList 가 작동이 안될까? 라는 생각이 드는데 잘 모르겠네요...
답을 원하지 않습니다만 힌트라도 주시면 감사하겠습니다.
<--- 제가 작성한 코드는 이렇습니다. --->
var section = document.getElementsByTagName('section'); var pointWrap = document.querySelector('.pointWrap'); var pointBtn = document.querySelectorAll('.pointWrap li'); var pageNum = 0; var totalNum = section.length; for(var s = 0; s < totalNum; s++){ var newli = document.createElement('li') pointWrap.appendChild(newli); } window.addEventListener('scroll', function(event){ var scroll = this.scrollY; for(var i = 0; i < totalNum; i++){ // if(scroll > section[i].offsetTop && // scroll < section[i].offsetTop + section[i].offsetHeight){ if(scroll > section[i].offsetTop - window.outerHeight/3 && scroll < section[i].offsetTop - window.outerHeight/3 + section[i].offsetHeight){ pageNum = i; break; } } pageChangeFunc() }); function pageChangeFunc(){ for(var z = 0; z < totalNum; z++){ section[z].classList.remove("active"); pointBtn[z].classList.remove("active"); } section[pageNum].classList.add("active"); pointBtn[pageNum].classList.add("active"); }
Answer 1
0
순서에 문제가 있는 것 같아서
요소 생성을 .pointWrap li 이전에 해줬더니 정상적으로 remove , add가 먹히네요
앞으로 좀더 생각해보고 질문드리겠습니다...;;
for(var s = 0; s < totalNum; s++){
var liElement = document.createElement('li')
pointWrap.append(liElement);
}
var pointBtn = document.querySelectorAll('.pointWrap li');
모바일 스와이프 구현 마지막 숙제
0
402
2
레퍼런스 사이트
0
339
1
스크롤위치에 따른 페이지 변화에서
0
267
1
배열을 이용한 bg컬러 변경 강의에서 tagname body에 [0]이 왜 붙나요?
0
380
1
스크롤 위치에 따른 페이지 변화 - scroll 이벤트 에 대한 질문
0
675
1
scrollTo 완성본
0
603
2
모바일 3D 입체 카드 제작 아이폰에서 에러
0
386
1
css 질문 드립니다
0
624
1
css 질문
0
284
1
pointBtn.addEventListner("click")
0
305
2
if문의 첫번째 조건 질문 있습니다~
0
285
1
offsetTop, offsetHeight
0
785
2
기존의 축 회전값에 더해서 rotate
0
320
1
모바일 드래그 강의 질문드립니다!
0
256
1
질문입니다.
0
215
1
GSAP(트윈맥스) 라이센스 관련 질문 드립니다.
0
1657
1
wrap 안에 click 이벤트
0
225
1
greensock을 사용하려면
0
701
1
TweenMax 효과 리셋
0
527
1
max 이상으로 입력했을 때 질문입니다.
0
193
1
dom에서 직접i nput의 value 값을 갖고 나오는 것에 대해
0
371
1
화살표 회전 질문
0
263
1
질문이용~
0
218
1
파일명 한글시 live Server 작동안함
1
213
1

