Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2016, 07:08
txemaker
 
Fecha de Ingreso: octubre-2007
Mensajes: 74
Antigüedad: 17 años
Puntos: 1
Pregunta problema al incrustar un segundo video con CSS + SCRIPT

Hola amigos, gracias por vuestro tiempo

Estoy utilizando este código:

DIV:

Código PHP:
Ver original
  1. <div class="video-wrapper">
  2.     <video src="//clips.vorwaerts-gmbh.de/VfE_html5.mp4" poster="//s3-us-west-2.amazonaws.com/s.cdpn.io/3174/poster.png"></video>
  3. </div>

CSS:

Código CSS:
Ver original
  1. .video-wrapper {
  2.     position: relative;
  3. }
  4.  
  5. .video-wrapper > video {
  6.     width: 100%;
  7.     vertical-align: middle;
  8. }
  9.  
  10. .video-wrapper > video.has-media-controls-hidden::-webkit-media-controls {
  11.     display: none;
  12. }
  13.  
  14. .video-overlay-play-button {
  15.     box-sizing: border-box;
  16.     width: 100%;
  17.     height: 100%;
  18.     padding: 10px calc(50% - 50px);
  19.     position: absolute;
  20.     top: 0;
  21.     left: 0;
  22.     display: block;
  23.     opacity: 0.95;
  24.     cursor: pointer;
  25.     background-image: linear-gradient(transparent, #000);
  26.     transition: opacity 150ms;
  27. }
  28.  
  29. .video-overlay-play-button:hover {
  30.     opacity: 1;
  31. }
  32.  
  33. .video-overlay-play-button.is-hidden {
  34.     display: none;
  35. }


SCRIPT:

Código Javascript:
Ver original
  1. var videoPlayButton,
  2.     videoWrapper = document.getElementsByClassName('video-wrapper')[0],
  3.     video = document.getElementsByTagName('video')[0],
  4.     videoMethods = {
  5.         renderVideoPlayButton: function() {
  6.             if (videoWrapper.contains(video)) {
  7.                 this.formatVideoPlayButton()
  8.                 video.classList.add('has-media-controls-hidden')
  9.                 videoPlayButton = document.getElementsByClassName('video-overlay-play-button')[0]
  10.                 videoPlayButton.addEventListener('click', this.hideVideoPlayButton)
  11.             }
  12.         },
  13.  
  14.         formatVideoPlayButton: function() {
  15.             videoWrapper.insertAdjacentHTML('beforeend', '\
  16.                <svg class="video-overlay-play-button" viewBox="0 0 200 200" alt="Play video">\
  17.                    <circle cx="100" cy="100" r="90" fill="none" stroke-width="15" stroke="#fff"/>\
  18.                    <polygon points="70, 55 70, 145 145, 100" fill="#fff"/>\
  19.                </svg>\
  20.            ')
  21.         },
  22.  
  23.         hideVideoPlayButton: function() {
  24.             video.play()
  25.             videoPlayButton.classList.add('is-hidden')
  26.             video.classList.remove('has-media-controls-hidden')
  27.             video.setAttribute('controls', 'controls')
  28.         }
  29.     }
  30.  
  31. videoMethods.renderVideoPlayButton()


Funciona perfecto, es lo que estaba buscando, con un botón de play en medio.

El problema me surge al incrustar un segundo video en el mismo php, el primero continua funcionando, pero el segundo no... Pongo el mismo código lo único que varia es la dirección del mp4 (y son correctas).

Ejemplo:


Código PHP:
Ver original
  1. <div class="col-sm-7">
  2.  
  3. <div class="video-wrapper">
  4. <video src="media/video/ejemplo1.mp4" poster="media/img/ejemplo1.jpg"></video>
  5. </div>
  6.  
  7. </div>
  8.  
  9. ...
  10.  
  11. ...
  12.  
  13. ...
  14.  
  15. <div class="col-sm-7">
  16.  
  17. <div class="video-wrapper">
  18. <video src="media/video/ejemplo2.mp4" poster="media/img/ejemplo2.jpg"></video>
  19. </div>
  20.  
  21. </div>


que puede ser???? Mil gracias de nuevo

Última edición por txemaker; 22/09/2016 a las 08:19