JSFiddle - React, Tailwind, and code Playground
HTML
<div class="main">
<video id="mavideo" controls>
<source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" type="video/mp4">
<source src="http://clips.vorwaerts-gmbh.de/VfE.webm" type="video/webm">
<source src="http://clips.vorwaerts-gmbh.de/VfE.ogv" type="video/ogg">
<p class="alert">
Votre navigateur ne supporte pas la balise vidéo ! Mettez-vous à jour !
</p>
</video>
<div id="controles" hidden>
</div>
</div>
CSS
body {
background-color: #eee;
}
.main {
width: 640px;
height: 390px;
display: inline-block;
color: #777;
}
#controles {
height: 30px;
position: relative;
top: -34px;
opacity: 0.2;
background-color: #eee;
transition: opacity 0.3s ease-in-out;
}
#controles:hover {
opacity: 0.85;
}
.droite {
float: right;
}
button {
text-align: center;
border: 0;
cursor: pointer;
background-color: #eee;
width: 40px;
height: 30px;
margin: 0;
padding: 0;
}
button:hover {
background-color: #fff;
}
button.checked {
background-color: #ccc;
}
JavaScript
function lecture() {
// Lit la vidéo
lecteur.play();
}
function pause() {
// Met la vidéo en pause
lecteur.pause();
}
function stop() {
// Arrête la vidéo
// On met en pause
lecteur.pause();
// Et on se remet au départ
lecteur.currentTime = 0;
}
function avancer(duree) {
// Avance de 'duree' secondes
// On parse en entier pour etre sur d'avoir un nombre
lecteur.currentTime += parseInt(duree);
}
function reculer(duree) {
// Recule de 'duree' secondes
// On parse en entier pour etre sur d'avoir un nombre
lecteur.currentTime -= parseInt(duree);
}
function rafraichirTemps() {
var secondes = parseInt(lecteur.currentTime);
var minutes = Math.trunc(secondes / 60);
secondes = secondes%60;
var totsecondes = parseInt(lecteur.duration);
var totminutes = Math.trunc(totsecondes / 60);
totsecondes = totsecondes % 60;
spanTemps.textContent = zeroPad(minutes, 2) + ":" + zeroPad(secondes, 2)
+ '/' +
zeroPad(totminutes, 2) + ":" + zeroPad(totsecondes, 2);
}
// fonction pour afficher joliment les nombres
function zeroPad(num, places) {
var zero = places - num.toString().length + 1;
return Array(+(zero > 0 && zero)).join("0") + num;
}
var lecteur;
var spanTemps;
function creerBoutons() {
// Créé les boutons de gestion du lecteur
var btnLecture = document.createElement("button");
var btnPause = document.createElement("button");
var btnStop = document.createElement("button");
var btnReculer = document.createElement("button");
var btnAvancer = document.createElement("button");
var spanGauche = document.createElement("span");
var spanDroite = document.createElement("span");
spanDroite.className = "droite";
spanTemps = spanDroite;
spanTemps.textContent = "--:-- / --:--";
var controlesBox = document.getElementById("controles");
lecteur =...