테스트 사이트 - 개발 중인 베타 버전입니다

video를 연속으로 재생

· 6년 전 · 2590

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]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
16329
16328
16327
16326
16325
16324
16323
16322
16321
16320
16319
16318
16317
16316
16315
16310
16309
16308
16305
16304
16303
16302
16301
16300
16299
16298
16297
16295
16294
16293