Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, attraverso un ciclo puoi gestire l'evento "play" di ciascun video in cui esegui, a sua volta, un ciclo di tutti gli elementi per mettere in pausa (metodo pause()) gli altri, o anche giusto quello che risulta in esecuzione.

    Qui un esempio minimo:
    codice HTML:
    <!DOCTYPE HTML>
    <html lang="it">
      <head>
        <title>Esempio</title>
      </head>
      <body>
        <div id="contenitore_player_video">
          <video class="videos" id="video1" poster="video/poster.png" controls >
            <source src="video/video1.mp4" type="video/mp4">
          </video>
          <video class="videos" id="video2" poster="video/poster.png" controls >
            <source src="video/video2.mp4" type="video/mp4">
          </video>
          <video class="videos" id="video3" poster="video/poster.png" controls >
            <source src="video/video3.mp4" type="video/mp4">
          </video>
        </div>
        <script>
          // NodeList degli elementi video
          var elementiVideo = document.querySelectorAll('#contenitore_player_video .videos');
          
          // Ciclo gli elementi
          elementiVideo.forEach(function(el){
            // Gestisco l'evento play per ciascun elemento
            el.addEventListener('play', e => {
              // Questo elemento
              const me = e.currentTarget;
              // Ciclo tutti gli altri e li metto in pausa (se sono in esecuzione)
              elementiVideo.forEach(te => {
                // Esco se è l'elemento corrente o se è già in pausa
                if (me === te || te.paused) return
                // Metto in pausa
                te.pause();
                // Azzero la testina di riproduzione
                //te.currentTime = 0; // <=  Decommenta questo per ottenere un effetto "stop"
              });
            });
          });
        </script>
      </body>
    </html>
    Ultima modifica di KillerWorm; 26-10-2023 a 15:54
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.