JSFiddle - React, Tailwind, and code Playground

by tcuttrissweb

HTML

<html>
    <body>
        <div id="player">
        </div>
</body>
</html>

CSS

#player {
    width: 580px;
    height: 280px;
    overflow: hidden;
    background: white;
    position: relative;
    border: solid 2px gray;
    padding: 5px;
}

.youtube .carousel {
    width: 230px;
    height: 100%;
    overflow: auto;
    position: absolute;
    right: 0px;
    z-index: 3;
}

.youtube .thumbnail {
    margin: 2px;
    width: 100px;
    border: 1px solid black;
}

.youtube iframe.player {
    width: 338px;
    height: 278px;  
    overflow: auto;
    border: 0;
}
.yt-descript {
    color: #000;   
    display:block;
    height:100px;
}
.carItemContain{
    width:;
    height:100px;
}

JavaScript

/*
Copyright 2011 : Simone Gianni <[email protected]>

-- update by tcuttrissweb --
   adds in title besdie thumbs in carousel.
   adjusted css from the original to make room for this
     allows resizing
       to adjust size of the player adjust the css for:
       .youtube iframe.player width / height accordingly.

Released under The Apache License 2.0 
http://www.apache.org/licenses/LICENSE-2.0

*/

(function() {
    function createPlayer(jqe, video, options) {
        var ifr = $('iframe', jqe);
        if (ifr.length === 0) {
            ifr = $('<iframe scrolling="no">');
            ifr.addClass('player');
        }
        var src = 'http://www.youtube.com/embed/' + video.id;
        if (options.playopts) {
            src += '?';
            for (var k in options.playopts) {
                src += k + '=' + options.playopts[k] + '&';
            }
            src += '_a=b';
        }
        ifr.attr('src', src);
        jqe.append(ifr);
    }

    function createCarousel(jqe, videos, options) {
        var car = $('div.carousel', jqe);
        if (car.length === 0) {
            car = $('<div>');
            car.addClass('carousel');
            jqe.append(car);

        }
        $.each(videos, function(i, video) {

            options.thumbnail(car, video, options);
        });
    }

    function createThumbnail(jqe, video, options) {

        var imgurl = video.thumbnails[0].url;
        var img = $('img[src="' + imgurl + '"]');
        var desc;
        var container;
        if (img.length !== 0) return;
        img = $('<img align="left">');
        img.addClass('thumbnail');
        jqe.append(img);
        img.attr('src', imgurl);
        img.attr('title', video.title);
        img.click(function() {
            options.player(options.maindiv, video, $.extend(true, {}, options, {
                playopts: {
                    autoplay: 1
                }
            }));
        });
        desk = $('<p class="yt-descript">' + video.title +...