Bootstrap - Video Carousel
Fiddle exploring how to combine bootstrap style carousel and video player.
HTML
<h3 id="navbar"> Carousel Video Player</h3>
<div id="fiddleHook" class="fiddle hidden"></div>
CSS
.fiddle {
background-color: #0e0e0e;
}
.thumbnail {
width: 260px;
height: 180px;
border: 0;
box-shadow: 0 12px 12px -10px #c4c4c4;
-webkit-box-shadow: 0 17px 22px -20px #c4c4c4;
-moz-box-shadow: 0 12px 12px -10px #c4c4c4;
}
.thumbnail img {
width: 100%;
height: auto;
}
.thumbnails p {
text-align: center;
padding: 10px;
}
.carousel-control {
width: 40px !important;
top: 40% !important;
background-color: transparent;
border-color: #000000;
opacity: 1;
}
.thumbnail-play {
position: absolute;
width: 40px;
height: 40px;
vertical-align: middle;
margin-top: -100px;
margin-left: 100px;
font-size: 30px;
font-weight: 100;
line-height: 30px;
color: #ffffff;
text-align: center;
background: #333333;
border: 3px solid #ffffff;
-webkit-border-radius: 23px;
-moz-border-radius: 23px;
border-radius: 23px;
opacity: 0.5;
filter: alpha(opacity=50);
}
.thumbnails {
padding-left: 50px;
padding-right: 75px;
}
.selected {
padding: 10px;
background-color: red !important;
}
.player {
}
.player .header {
color: #74A245;
position: absolute;
top: 152;
text-align: center;
width: 100%;
padding: 10px;
filter: alpha(opacity=50);
opacity: 1;
border: none;
z-index: 10;
}
#player-navbar {
background-color: #0e0e0e !important;
padding-top: 20px;
text-align: center;
padding-bottom: 10px;
}
.player-navbar .bs-component {
padding-top: 40px !important;
}
.player-navbar .progress {
padding-top: 38px;
}
.player video {
width: 100%;
background-color: #000000;
padding-top: 50px;
padding-left: 20px;
padding-bottom: 20px;
padding-right: 20px;
}
.video-control {
height: 40px;
width: 40px;
vertical-align: top;
margin-top: -3px;
border-radius: 23px;
background-color: green;
border-color: #ffffff;
color: white;
border-width: 3px;
...
JavaScript
(function (app, $, undefined) {
var playerStreamDescriptionVisible = false,
lastSelectedClipId = '';
$(document).ready(function () {
// Inject HTML structure
$('#fiddleHook').html(app.store.html);
// Wait a second, and then add event plumbing
setTimeout(app.onAfterRender);
});
// Data Store
app.store = {
// Static "on-board" json.
data: [{
"id": "ashklasd132asddfgdf",
"name": "War on Drugs continues",
"description": "Losses continue in agressive raid on local property",
"content-url": "http://buffalogrove.sat.iit.edu/Kitty.mp4",
"thumb-url": "http://buffalogrove.sat.iit.edu/thumb/dogs_friends-t2.jpg"
}, {
"id": "asdasd132asddf667jf",
"name": "Parlimentary Proceedings",
"description": "World Leaders meet to determine the latest policies on climate change relief",
"content-url": "http://buffalogrove.sat.iit.edu/Clouds%2038%20Timelapse.mp4",
"thumb-url": "http://buffalogrove.sat.iit.edu/thumb/colorful_clouds-t2.jpg"
}, {
"id": "123dfg6132asddfgdz",
"name": "Weather for March 22nd 2015",
"description": "Join Jeremy Brown for today's weather",
"content-url": "http://buffalogrove.sat.iit.edu/Clouds-Time_lapse_22.mp4",
"thumb-url": "http://buffalogrove.sat.iit.edu/thumb/hidden_lagoon-t2.jpg"
}, {
"id": "pzxc87asdkjl44h7h",
"name": "Taking a walk on the wide-side",
"description": "Cook Counties latest conservation efforts led to a new discovery",
"content-url": "http://buffalogrove.sat.iit.edu/Flower_4.mp4",
"thumb-url": "http://buffalogrove.sat.iit.edu/thumb/nature_scenes_3-t2.jpg"
}, {
"id": "mkiaasdsjdh7asd8889",
"name": "Musical...