728x90
반응형
유튜브 등 영상 스트리밍 페이지에서 볼 수 있는 PIP기능!!
PIP는 Picture In Picture으로 브라우저에서 독립된 GUI 화면 위에 또 다른 화면을 제공하는 기능입니다!!
저는... 뭔가 거창하게 JS로 엄청 뚝딱뚝딱 해야할거 같아서 살짝 겁먹었는데요!
생각보다 매애애애애애애우 간단하더라구요!
재생되고 있는 플레이를 스크롤에 따라 position 값을 달리해주기만 하면 구현 완료!
<div class="player-wrap">
<div class="player-box">
<div class="player"></div>
</div><!-- //.player-box -->
</div>
.player-wrap{position:relatvie;aspect-ratio:16/9;overflow:hidden;}
.player-box{position:relative;width:100%;}
.player-box.pip{position:fixed;aspect-ratio:16/9;width:400px;bottom:30px;right:30px;z-index:100;}
HTML과 CSS 이렇게 작성을 해주고~
스크롤이 원하는 위치에 왔을 때 addClass('pip'), removeClass('pip')를 해주면 됩니다.
쏘 씸풀!!!! :)
단, 주의해야할 것은 최상위 요소 .player-wrap이 height를 가지고 있어야 한다는 것 입니다.
그래야 자식요소인 .player-box를 fixed로 고정해도 레이아웃에 영향이 없기 때문입니다.
height를 각각 주기 번거로우니 aspect-ratio를 사용하는것도 간편한 해결 방법 이겠네요 ㅎㅎ
그럼 글 읽어주셔서 감사합니다.
728x90
'Javascript' 카테고리의 다른 글
[Javascript] 버튼 클릭 한번으로 모든 체크 박스 체크 해제하기 (4) | 2023.03.07 |
---|---|
[Javascript] 특정 영역을 제외한 곳 클릭시 이벤트 실행하기 (feat. e.target) (0) | 2023.03.06 |
[javascript] 요소 클릭 시 텍스트 input value값으로 넣기(예시 : 배송시 요청 사항을 선택해주세요.) (0) | 2023.02.09 |
[javascript] swiper slide 2개 연동하여 제어하기 (0) | 2023.02.03 |
[javascript] 스크롤 애니메이션 new IntersectionObserver() (0) | 2023.02.01 |