自社のサイトリニューアルの際に、メインビジュアルで動画を流すことになったので、
html5のvideoタグと、再生を制御するjavascriptについて解説します。
■HTMLソース
<div id="mainVisual"> <div id="cover"></div> <video autoplay id="bgvid"> <source src="asset/movie/video.mp4" type="video/mp4"> </video> </div> <!-- /mainVisual -->
■css
html, body { height: 100%; } #mainVisual { width: 100%; height: 100%; } #mainVisual video#bgvid { position: fixed; right: 0; bottom: 0; min-width: 100%; min-height: 100%; width: auto; height: auto; z-index: -100; } #cover { background: url(../../asset/movie/cover.jpg) no-repeat; background-size: cover; z-index: -1; width: 100%; height: 100%; opacity: 1; transition: 5s; } #cover.fade { opacity: 0; }
今回は、動画をフェードインさせる必要があったので、video要素の直前にカバー画像用のdivを作りました。
video自体をjQueryでフェードインさせると、処理が重たくなり再生がスムーズにされなかったので、
フェードイン効果はcss3で実装しています。
■javascript
<script> $(window).load(function() { $('#cover').addClass('fade'); //#coverにクラスを付与 }); $(function() { var video = document.getElementById('bgvid'); //再生位置を秒で設定する video.currentTime = 11; // 再生速度を変更する video.playbackRate = 1; // 再生開始 video.play(); }); </script>