Skip to content

Instantly share code, notes, and snippets.

@AFlorencia
Created April 9, 2021 17:28
Show Gist options
  • Save AFlorencia/64a8b96b499358ed18a53b07f0e8937b to your computer and use it in GitHub Desktop.
Save AFlorencia/64a8b96b499358ed18a53b07f0e8937b to your computer and use it in GitHub Desktop.
Background Youtube Video
<header class="site-header">
<iframe id="yt-player" src="https://www.youtube.com/embed/iApVVKsF94E?autoplay=1&modestbranding=1&controls=0&showinfo=0&rel=0&enablejsapi=1&version=3&loop=0&playerapiid=ytplayer&allowfullscreen=true&wmode=transparent&iv_load_policy=3&html5=1&playlist=iApVVKsF94E&disablekb=true" frameborder="0"></iframe>
<div class="video-overlay"></div>
<div class="content">
<h1>Header Title</h1>
</div>
</header>
<div class="site-content">
<h1>This is site content</h1>
</div>
$(window).on('resize load', function() {
$('.site-header iframe').each(function() {
var self = $(this);
var container = self.parent();
self.css({
width: container.width() + "px",
height: container.width() * (9/16) + 'px',
position: 'absolute',
marginTop: -container.width() * (9/32) + 'px',
top: '50%'
});
});
});
// Load the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('yt-player', {
autoplay : 1,
videoId: 'yZM5VAKi5vU',
playerVars : {
'autoplay' : 1,
'rel' : 0,
'showinfo' : 0,
'showsearch' : 0,
'controls' : 0,
'loop' : 1,
'enablejsapi' : 1,
'playlist': 'yZM5VAKi5vU'
},
events: {
"onReady": onPlayerReady,
//"onStateChange": onPlayerStateChange
}
});
}
function onPlayerReady(event) {
event.target.mute();
event.target.playVideo();
}
function onPlayerStateChange(event) {
var id = 'yZM5VAKi5vU';
if(event.data === YT.PlayerState.ENDED){
player.loadVideoById(id);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://apis.google.com/js/client.js?onload=googleApiClientReady"></script>
@import "lesshat";
.site-header {
background: #222;
overflow: hidden;
position: relative;
}
.video-overlay {
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
background: #000;
opacity: 0.5;
}
.site-header .content {
position: relative;
z-index: 100;
text-align: center;
padding: 50px 0;
color: #fff;
font-size: 48px;
text-shadow: 0 0 10px rgba(0,0,0,0.2);
text-transform: uppercase;
}
.site-content {
padding: 40px 0;
text-align: center;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment