youtube icon

by Alex Alexandrov

HTML

<div id="player"></div>
<div id="thumbnail_container" class="thumbnail_container">
    <img class="thumbnail" id="thumbnail" />
    <a class="start-video"><img width="64" src="http://image.flaticon.com/icons/png/512/0/375.png" style="filter: invert(100%); -webkit-filter: invert(100%);"></a>
</div>

CSS

.start-video {
    position: absolute;
    top: 40%;
    padding: 12px;
    left: 40%;
    opacity: .3;
    cursor: pointer;
    transition: all 0.3s;
}

.start-video:hover {
    opacity: 1;
    -webkit-filter: brightness (1);
}

div.thumbnail_container {
    width: 480px;
    height: 360px;
    overflow: hidden;
    position: relative;
    background-color: #000;
}

img.thumbnail {
    opacity: 0.5;
    height: auto;
    width: 100%;
}

JavaScript

var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;

onYouTubeIframeAPIReady = function () {
    player = new YT.Player('player', {
        height: '360',
        width: '480',
        videoId: 'P6k2ghtbhoU',
        playerVars: {
            'autoplay': 0,
            'rel': 0,
            'showinfo': 0
        },
        events: {
            'onStateChange': onPlayerStateChange
        }
    });
}

var p = document.getElementById ("player");
$(p).hide();

var t = document.getElementById ("thumbnail");
t.src = "http://img.youtube.com/vi/P6k2ghtbhoU/0.jpg";

onPlayerStateChange = function (event) {
    if (event.data == YT.PlayerState.ENDED) {
        $('.start-video').fadeIn('normal');
    }
}

$(document).on('click', '.start-video', function () {
    $(this).hide();
    $("#player").show();
    $("#thumbnail_container").hide();
    player.playVideo();
});