video를 연속으로 재생
video 객체에 onended 이벤트가 있네요
다음과 같은 코드로 연속재생을 해봤습니다.
[code]
<style>
#video-box {min-width:1200px; position:relative;}
#video-box .main-banner {display:none; width:100%; height:750px; overflow:hidden;position:relative; background-color:#000;}
#video-box .main-banner.open{display:block;}
#video-box .main-banner video {position:absolute;width:100%;top:50%; left:50%;transform:translate(-50%,-50%);border:0;}
#video-box .dot-box {position:absolute; width:100%; bottom:0; text-align:center;}
#video-box .dot-box a{display:inline-block; margin:0.5em; width:20px;height:20px; border-radius:50%; background-color:#06F;text-indent:-9999px;}
#video-box .dot-box a.open{background-color:yellowgreen;}
@media screen and (max-width:1400px) { #video-box .main-banner {height:550px;} }
</style>
<div id="video-box">
<div class="main-banner open">
<video autoplay muted>
<source src="https://www.bodyfriend.co.kr/video/1.mp4" type="video/mp4">
</video>
</div>
<div class="main-banner">
<video muted>
<source src="https://www.bodyfriend.co.kr/video/main02.mp4" type="video/mp4">
</video>
</div>
<div class="main-banner">
<video muted>
<source src="https://www.bodyfriend.co.kr/video/main03.mp4" type="video/mp4">
</video>
</div>
<div class="dot-box"></div>
</div>
<script>
$(function() {
var len = $('.main-banner').length
$('.main-banner').each(function(index, element) {
$(this).addClass('v' + index);
var video = $(this).find('video')[0];
video.onended = function(e) {
$('.main-banner').removeClass('open');
$('.main-banner.v'+((index+1) % len)).addClass('open');
$('.main-banner.v'+((index+1) % len)).find('video')[0].play();
$('#video-box a.dot').removeClass('open');
$('#video-box a.dot.v'+((index+1) % len)).addClass('open');
};
$('#video-box .dot-box').append('<a href="#" class="dot v'+index+'" data-idx="'+index+'">'+(index+1)+'번째 비디오</a>');
});
$('#video-box a.dot').click(function(e) {
var idx = $(this).data('idx');
$('.main-banner.open').find('video')[0].pause();
$('.main-banner').removeClass('open');
$('.main-banner.v'+(idx % len)).addClass('open');
$('.main-banner.v'+(idx % len)).find('video')[0].play();
$('#video-box a.dot').removeClass('open');
$('#video-box a.dot.v'+(idx % len)).addClass('open');
});
$('#video-box a.dot.v0').addClass('open');
});
</script>
[/code]
게시판 목록
개발자팁
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 4856 | PHP | 7년 전 | 5735 | ||
| 4855 | jQuery | 7년 전 | 3239 | ||
| 4854 | jQuery | 7년 전 | 2229 | ||
| 4853 | jQuery | 7년 전 | 2832 | ||
| 4852 | MySQL | 7년 전 | 2996 | ||
| 4851 | jQuery | 7년 전 | 2342 | ||
| 4850 | jQuery | 7년 전 | 2572 | ||
| 4849 | jQuery | 7년 전 | 4311 | ||
| 4848 | PHP |
|
7년 전 | 4248 | |
| 4847 | jQuery | 7년 전 | 4021 | ||
| 4846 | jQuery | 7년 전 | 2640 | ||
| 4845 | jQuery | 7년 전 | 2155 | ||
| 4844 | jQuery | 8년 전 | 2304 | ||
| 4843 | jQuery | 8년 전 | 3057 | ||
| 4842 | jQuery | 8년 전 | 2900 | ||
| 4841 | jQuery | 8년 전 | 2231 | ||
| 4840 | jQuery | 8년 전 | 1571 | ||
| 4839 | jQuery | 8년 전 | 2469 | ||
| 4838 | jQuery |
이에스씨코리아
|
8년 전 | 2320 | |
| 4837 | jQuery | 8년 전 | 2169 | ||
| 4836 | jQuery | 8년 전 | 2094 | ||
| 4835 | jQuery | 8년 전 | 1828 | ||
| 4834 | jQuery | 8년 전 | 1868 | ||
| 4833 | jQuery | 8년 전 | 1996 | ||
| 4832 | jQuery | 8년 전 | 2185 | ||
| 4831 | jQuery | 8년 전 | 2366 | ||
| 4830 | jQuery | 8년 전 | 2632 | ||
| 4829 | jQuery | 8년 전 | 1804 | ||
| 4828 | jQuery | 8년 전 | 2749 | ||
| 4827 | jQuery | 8년 전 | 2288 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기