自社のサイトリニューアルの際に、メインビジュアルで動画を流すことになったので、
html5のvideoタグと、再生を制御するjavascriptについて解説します。
■HTMLソース
1 2 3 4 5 6 7 8 9 |
<div id="mainVisual"> <div id="cover"></div> <video autoplay id="bgvid"> <source src="asset/movie/video.mp4" type="video/mp4"> </video> </div> <!-- /mainVisual --> |
■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 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<script> $(window).load(function() { $('#cover').addClass('fade'); //#coverにクラスを付与 }); $(function() { var video = document.getElementById('bgvid'); //再生位置を秒で設定する video.currentTime = 11; // 再生速度を変更する video.playbackRate = 1; // 再生開始 video.play(); }); </script> |
コメント