[Javascript] overlay video

  • Creatore Discussione Creatore Discussione oasi
  • Data di inizio Data di inizio

oasi

Nuovo Utente
23 Ott 2017
12
1
3
Ciao a tutti!
Espongo subito il problema.
Devo realizzare una pagina che contiene diversi link collegati a dei video da dover aprire in overlay.
Ho cercato un po e mi sono imbattuto in questo:

Codice:
<h1>CSS/Javascript popup with Lightbox effect</h1>

<div id="light">
  <a class="boxclose" id="boxclose" onclick="lightbox_close();"></a>
  <video id="VisaChipCardVideo" width="600" controls>
      <source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
      <!--Browser does not support <video> tag -->
    </video>
</div>

<div id="fade" onClick="lightbox_close();"></div>

<div>
  <a href="#" onclick="lightbox_open();">Watch video</a>
</div>

<div class="test">test</div>
<div class="test2">test2</div>

Codice:
#fade {
  display: none;
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  background-color: black;
  z-index: 1001;
  -moz-opacity: 0.8;
  opacity: .80;
  filter: alpha(opacity=80);
}

#light {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 600px;
  max-height: 360px;
  margin-left: -300px;
  margin-top: -180px;
  border: 2px solid #FFF;
  background: #FFF;
  z-index: 1002;
  overflow: visible;
}

#boxclose {
  float: right;
  cursor: pointer;
  color: #fff;
  border: 1px solid #AEAEAE;
  border-radius: 3px;
  background: #222222;
  font-size: 31px;
  font-weight: bold;
  display: inline-block;
  line-height: 0px;
  padding: 11px 3px;
  position: absolute;
  right: 2px;
  top: 2px;
  z-index: 1002;
  opacity: 0.9;
}

.boxclose:before {
  content: "×";
}

#fade:hover ~ #boxclose {
  display:none;
}

.test:hover ~ .test2 {
  display: none;
}

Codice:
window.document.onkeydown = function(e) {
  if (!e) {
    e = event;
  }
  if (e.keyCode == 27) {
    lightbox_close();
  }
}

function lightbox_open() {
  var lightBoxVideo = document.getElementById("VisaChipCardVideo");
  window.scrollTo(0, 0);
  document.getElementById('light').style.display = 'block';
  document.getElementById('fade').style.display = 'block';
  lightBoxVideo.play();
}

function lightbox_close() {
  var lightBoxVideo = document.getElementById("VisaChipCardVideo");
  document.getElementById('light').style.display = 'none';
  document.getElementById('fade').style.display = 'none';
  lightBoxVideo.pause();
}

Questo codice così com'è funziona perfettamente per un singolo video, quindi, applicarlo a più link non avrebbe senso.
In che modo si deve modificare la funzione javascript così da permettere l'apertura di più video?
Ringrazio tutti anticipatamente per la disponibilità.
 
Più che modificare quel codice sarebbe meglio adottarne uno più adatto a più video
 
Grazie Max 1 per una risposta così celere.
Hai ragione! Però, in rete non sono riuscito a trovare nulla a riguardo, escludendo, ovviamente, le varie Lightbox pronte.
Puoi darmi una mano?
Grazie ancora!
 
Questo è una demo di uno script che avevo già pronto ho solo aggiunto un secondo link ad un video che è poi il tuo replicato per i due link solo per esempio di come puoi aggiungere altri video, in sostanza i due link portano allo stesso video ma è solo come esempio.
Ovviamente c'è da sistemare le misure i colori ecc.
Sappimi dire
 
Continuo a ringraziarti Max 1!
Ho dato un'occhiata allo script che mi hai segnalato, ed è proprio quello che cercavo, infatti, lo sto già integrando.
L'unica pecca è che il video lasciato in play continua la riproduzione in background dopo l'uscita dall'overlay.
Come si può risolvere questo problema?
Ti ringrazio!
 
Penso che purtroppo con quel tipo di overlay quel diffetto non si tolga, bisogna cambiare script
 
Appena ho 5 minuti vedo!
 
Ti ringrazio per aver aver risolto!
Nei prossimi giorni mi dedicherò a integrare quanto da te scritto.
Grazie ancora Max 1.
 
  • Like
Reactions: striped13ball
[QUOTE = "oasi, post: 198528, member: 35107"] Thank you for having solved!
In the next few days I will devote myself to supplementing what you have written.
Thanks again Max 1. [/ QUOTE]
I am also looking to accomplish this same thing but receive a 404 page in trying to see Max 1's demonstration.
 
Certo che c'è una pagina 404 la demo è stata cancellata per motivi di spazio

Per favore solo post in Italiano
 
Perdonami, non assumendo che sia stato cancellato. Se lo chiedo gentilmente in italiano, potrei avere qualche aiuto?
 
Apri una nuova discussione e fai la tua richiesta
 

Discussioni simili