페이지 업 / 다운키로 스크롤 제어시
page up / page down 버튼으로 스크롤을 올리면 body에 아이디가 제대로 안들어가는건 해결이 안될까요?
페이지 다운

페이지 업

답변 1
0
아, 저도 미처 발견하지 못했던 문제네요!
loop 함수를 아래와 같이 업데이트 해보세요~
// 추가코드
이렇게 주석으로 설명 달아두었습니다.
해당 부분은 다른 분들도 아시면 좋을 것 같아서,
추후에 설명영상 업데이트하고 공지하도록 하겠습니다^^
function loop() {
delayedYOffset = delayedYOffset + (yOffset - delayedYOffset) * acc;
if (!enterNewScene) {
if (currentScene === 0 || currentScene === 2) {
const currentYOffset = delayedYOffset - prevScrollHeight;
const objs = sceneInfo[currentScene].objs;
const values = sceneInfo[currentScene].values;
let sequence = Math.round(calcValues(values.imageSequence, currentYOffset));
if (objs.videoImages[sequence]) {
objs.context.drawImage(objs.videoImages[sequence], 0, 0);
}
}
}
// 추가 코드
// home이나 end를 이용해 페이지 끝으로 고속 이동하면 body id가 제대로 인식 안되는 경우를 해결
// home 키로 페이지 맨 위로 갈 경우: scrollLoop와 첫 scene의 기본 캔버스 그리기 수행
if (delayedYOffset < 1) {
scrollLoop();
sceneInfo[0].objs.canvas.style.opacity = 1;
sceneInfo[0].objs.context.drawImage(sceneInfo[0].objs.videoImages[0], 0, 0);
}
// end 키로 페이지 맨 아래로 갈 경우: 마지막 섹션은 스크롤 계산으로 위치 및 크기를 결정해야할 요소들이 많아서 1픽셀을 움직여주는 것으로 해결
if ((document.body.offsetHeight - window.innerHeight) - delayedYOffset < 1) {
let tempYOffset = yOffset;
scrollTo(0, tempYOffset - 1);
}
rafId = requestAnimationFrame(loop);
if (Math.abs(yOffset - delayedYOffset) < 1) {
cancelAnimationFrame(rafId);
rafState = false;
}
}
이미지 배경 문의
0
67
1
[크로스브라우징] safari에서 동영상 영역 미노출
0
107
1
항상 궁금했는데 크림슨 컬러 선택하셨을때 활용했던 사이트 좀 알려주세요~
0
109
2
vue강의는안하시나요?!
0
101
1
스크롤 속도에 따른 messageA_opacity_out
0
115
1
drawImage(objs.videoImages[sequence], 0, 0); error
0
89
1
선생님 캔버스 width 크기는 이미지 크기에맞게 해줘야하나요?
0
127
0
선생님 안녕하세요. 혹시 메인개발(?)분야가 뭔지 궁금합니다.
0
206
1
React에서 load 상태를 어떻게 감지할 수 있을까요?
0
681
1
[섹션7-3: 버그수정 2] tempYOffset 오류
0
195
1
스크롤할 때 캔버스로 하신 이유가 있으신가요? 그냥 성능 떄문에 캔버스로 하신건가요?
0
313
2
게속 오류떠서 글 작성해봐요....
0
506
2
Vanilla JavaScript로 SPA 만드는 자료 혹은 선택 기준을 추천해주실 수 있으신가요?
1
488
1
특정 타이밍 스크롤 애니메이션 적용하기 섹션 수강중입니다.
0
455
2
[#svg, #이미지프레임과 텍스트 싱크] 스크롤 값에 움직이는 svg path, 이미지프레임과 텍스트 싱크 맞추는 것, 2가지 질문이 있습니다.
0
451
2
페이지가 처음 로딩 되었을 때 애니메이션 처리가 되지 않는 느낌입니다
0
432
1
섹션2 번째, opacity=0 되지 않고 잔상이 남습니다.
0
533
1
원래 쿼리셀렉터에서는 띄워쓰기 하면안되나요?
0
593
2
라이브러리 질문
1
412
2
translateY대신 애플에서 사용한 것 처럼 matrix로 scale의 크기를 주려고 하는데
0
409
1
[스크롤 높이 세팅] scrollHeight값이 3990아닌 4645로만 나오는데 뭐가 문제일까요? ㅠㅠ
0
598
2
scrollLoop 함수 질문
0
476
2
도메인 웹호스팅시 이미지가 안 뜨는데 누가 좀 알려주세요ㅠㅜ
0
1235
2
load 이벤트시 첫 비디오 이미지가 뜨네요.
0
506
2





