inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

애플 웹사이트 인터랙션 클론!

이미지 블렌딩 1

이미지 블렌드 캔버스에 mp4를 적용하려하는데요!

206

love0000318

작성한 질문수 2

0

자꾸 반복된 질문 드려 죄송합니다.

애플 맥북 사이트를 보니 gif가 아니라 캔버스에 mp4를 반복재생하는 방법을 사용하고 있더라고요. 그래서 강사님

https://www.youtube.com/watch?v=p8TsTUJj-kY&t=389s&ab_channel=1%EB%B6%84%EC%BD%94%EB%94%A9

이 사이트에 나와있는 방법 참고해서 이미지블렌드캔버스 부분에 코드 적용해보았는데 첫번째 캔버스가 sticky로 바뀐이후에도 아무런 반응이 없더라고요 ㅠㅠ. 이부분 어떻게 해결해야하는지 궁금합니다.

코드 첨부합니다.

c참고로 콘솔창에서 에러가 생기진 않습니다!

아무래도 addEventListener부분이 문제인 것 같아요..

 if (scrollRatio < values.rect1_x[2].end) {
          step = 1;
          console.log("step1");
          obj.canvas.classList.remove("sticky-canvas");
        } else {
          step = 2;
          console.log("step2");
          //이미지 블렌드
          //imageBlendY :[0, 0, { start: 0, end: 0 }];

          const owlVideo = document.querySelector(".owl-video");
          owlVideo.addEventListener("canplaythrough", render);

          function render() {
            obj.context.drawImage(owlVideo, 0, 0);
            requestAnimationFrame(render);
          }

          obj.canvas.classList.add("sticky-canvas");
          obj.canvas.style.top = `${
            -(obj.canvas.height - obj.canvas.height * canvasScaleRatio) / 2
          }px`;
        }

        break;
    }

인터랙티브-웹 HTML/CSS svg 웹 디자인 javascript 클론코딩

답변 1

0

1분코딩

답변이 조금 늦었습니다!
canplaythrough 이벤트 바인딩은 미리 초기화 때 해주시고,
특정 스크롤 지점이 되면 drawImage 처리를 해줘보시겠어요?
스크롤 시점이 되었을 때 바인딩을 하기 시작해서 제대로 동작을 안할 가능성도 있어보여서요~

비디오가 인터랙션이 있는 것이 아니라 그냥 자동으로 플레이되는거라면,
굳이 캔버스로 하지 말고 그냥
<video autoplay="autoplay" muted="muted">로 플레이 시키고 그 위에 CSS로 디자인이 적용된 <div>등의 요소를 이용해서 커버를 적용하는 것도 방법이 될 수 있을 것 같습니다.

0

love0000318

감사합니다!

이미지 배경 문의

0

64

1

[크로스브라우징] safari에서 동영상 영역 미노출

0

106

1

항상 궁금했는데 크림슨 컬러 선택하셨을때 활용했던 사이트 좀 알려주세요~

0

109

2

vue강의는안하시나요?!

0

100

1

스크롤 속도에 따른 messageA_opacity_out

0

115

1

drawImage(objs.videoImages[sequence], 0, 0); error

0

88

1

선생님 캔버스 width 크기는 이미지 크기에맞게 해줘야하나요?

0

126

0

선생님 안녕하세요. 혹시 메인개발(?)분야가 뭔지 궁금합니다.

0

206

1

React에서 load 상태를 어떻게 감지할 수 있을까요?

0

678

1

[섹션7-3: 버그수정 2] tempYOffset 오류

0

194

1

스크롤할 때 캔버스로 하신 이유가 있으신가요? 그냥 성능 떄문에 캔버스로 하신건가요?

0

312

2

게속 오류떠서 글 작성해봐요....

0

505

2

Vanilla JavaScript로 SPA 만드는 자료 혹은 선택 기준을 추천해주실 수 있으신가요?

1

488

1

특정 타이밍 스크롤 애니메이션 적용하기 섹션 수강중입니다.

0

455

2

[#svg, #이미지프레임과 텍스트 싱크] 스크롤 값에 움직이는 svg path, 이미지프레임과 텍스트 싱크 맞추는 것, 2가지 질문이 있습니다.

0

451

2

페이지가 처음 로딩 되었을 때 애니메이션 처리가 되지 않는 느낌입니다

0

430

1

섹션2 번째, opacity=0 되지 않고 잔상이 남습니다.

0

533

1

원래 쿼리셀렉터에서는 띄워쓰기 하면안되나요?

0

593

2

라이브러리 질문

1

412

2

translateY대신 애플에서 사용한 것 처럼 matrix로 scale의 크기를 주려고 하는데

0

409

1

[스크롤 높이 세팅] scrollHeight값이 3990아닌 4645로만 나오는데 뭐가 문제일까요? ㅠㅠ

0

595

2

scrollLoop 함수 질문

0

473

2

도메인 웹호스팅시 이미지가 안 뜨는데 누가 좀 알려주세요ㅠㅜ

0

1232

2

load 이벤트시 첫 비디오 이미지가 뜨네요.

0

502

2