프론트엔드/Tips

유튜브 팝업 레이어 만들기

Marshall K 2018. 10. 18. 01:36

.popupVideo란 div 아래의 a 태그를 클릭하면 유튜브 비디오를 레이어로 띄워 주면서 영상을 재생합니다. (PC)

화면의 빈 곳을 누르면 팝업 레이어가 사라지면서 유튜브 영상이 정지됩니다.


a 태그 안에 들어간 내용은 유튜브 들어가셔서 아무 영상이나 클릭하시면


https://www.youtube.com/watch?v=ZBCGkpJWjVc


같은 형식으로 주소창에 표시될 겁니다.

?v= 뒤의 내용이 비디오의 id입니다. 해당 내용 복사해서 붙이시면 됩니다.


'공유'버튼 클릭하시면 youtu.be/ 뒤에 나오는 내용도 똑같이 비디오의 id입니다.


데모




HTML


1
2
3
4
5
6
7
<div class="popupVideo">
  <a data-video="ooy0KHe5oJ8">1번 영상</a>
  <a data-video="di-jvtSY_Ng">2번 영상</a>
</div>
<div class="video-popup">
  <div class="video-popup-closer"></div>
</div>
cs


CSS


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
.video-popup.reveal {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  justify-content: center;
  align-items: center;
  z-index:9
}

.video-popup .video-wrapper {
  position: relative;
  width: 80%;
  padding-bottom: 45%;
  z-index: 10
}

.video-popup .video-wrapper iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}

.video-popup.reveal .video-popup-closer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, .5);
  z-index: 9
cs


비디오 크기 조절하는 방법은 이 글을 참고해주세요.


JS


1
2
3
4
5
6
7
8
9
$(".popupVideo a").click(function() {
  $(".video-popup").addClass("reveal"),
  $(".video-popup .video-wrapper").remove(),
  $(".video-popup").append("<div class='video-wrapper'><iframe width='560' height='315' src='https://youtube.com/embed/" + $(this).data("video"+ "?rel=0&playsinline=1&autoplay=1' allow='autoplay; encrypted-media' allowfullscreen></iframe></div>")
}),
$(".video-popup-closer").click(function() {
  $(".video-popup .video-wrapper").remove(),
  $(".video-popup").removeClass("reveal")
});
cs