Vista Previa de un Video de Youtube con jQuery
2 minuto(s)En esta página:
Demo Github
Cuando subimos un video a nuestro Canal de Youtube, el gestor de videos nos crea 3 pequeñas imágenes para elegir cual de ellas poner como miniatura para nuestro video.
Vamos a usar esas imágenes para representar una vista previa del contenido de nuestro video, para que nuestros usuarios puedan ver un adelante del video que van a ver.
Lo que haremos es que al colocar el puntero del mouse sobre la miniatura, este empiece a intercambiar escenas del video y al retirar el puntero del mouse que estaba sobre la miniatura, se detenga la vista previa. Bueno vamos con el tutorial:
Creamos el archivo llamado script.js en donde colocare mi función javascript que hace una vista previa del video.
Dentro de el archivo script.js coloco comentarios en donde explico para que sirve cada linea de código.
script.js
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
(function($) { $.fn.PreViewTube = function(opts) { //Defaults var settings = $.extend({ 'interval' : 500, 'mode' : 'hover' }, opts); //Iteramos sobre los elementos coincidentes return this.each(function() { var $this = $(this); var loop; // obtenemos la fuente de la imagen var imgSrc = $this.attr("src"); // obtenemos el nombre del archivo var fileName = imgSrc.match(/(\w*)\.jpg$/); // obtenemos el numero de la imagen if(fileName[1] == 'default') { // Hacemos que por defecto el valor sea 1 var num = 1; } else { var num = parseInt(fileName[1]); } // Declaramos un loop var infiniteLoop = null; // Comprobamos el modo hover / constante if(settings.mode == 'constant') { loop = setInterval(function() { // loop - 1, 2, 3 if(num == 3) { num = 0; } else { num++; } $this.attr("src", imgSrc.replace(/(\d\.jpg|\w*\.jpg)$/, +num + '.jpg')); }, settings.interval); } else {// modo hover $this.hover(function() { loop = setInterval(function() { // loop - 1, 2, 3 if(num == 3) { num = 0; } else { num++; } $this.attr("src", imgSrc.replace(/(\d\.jpg|\w*\.jpg)$/, +num + '.jpg')); }, settings.interval); }, function() { // Al retirarl el mouse // Detenemos el loop clearInterval(loop); }); } }); }; })(jQuery); |
Ahora creamos nuestra vista, el archivo index.html para visualizar el resultado.
index.html
|
1 2 3 4 5 6 7 |
<a href="https://www.youtube.com/watch?v=dU26cGlmkRg" target="_blank"> <div class="tmbnl"> <img src="https://i.ytimg.com/vi/4ctqJTbqKi0/2.jpg" alt="" title="" width="150" class="preViewTube" /> <span>Metallica - Cyanide (Live)</span></div> </a> |
Ahora vamos a instanciar el javascript en nuestro archivo index.html.
Colocar el siguiente código dentro de las etiquetas <script> </script> :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$(document).ready(function() { $('.preViewTube').PreViewTube(); $('.preViewTube-constant').PreViewTube({ 'interval' : 500, 'mode' : 'constant' }); $('.preViewTube-speed').PreViewTube({ 'interval' : 500 }); }); |
Listo !
Espero les sirva de mucho el Tutorial.
Sígueme en Twitter: @pepoflex
Hasta nuestro siguiente artículo !
También en las categorías, etiquetas, búsquedas y más.
En versiones anteriores, se veian con alto disparejo.
Seguimos trabajando en mejorar la comunidad.



Seguimos trabajando las 24 horas del día para brindarte la mejor experiencia en la comunidad.
Hemos corregido el problema y ahora la web no muestra esa barra horizontal y se ve en su tamaño natural.
Seguimos trabajando las 24 horas del día, para mejorar la comunidad.
Seguimos trabajando las 24 horas y 365 días del año para mejorar tu experiencia en la comunidad.

Seguimos trabajando para brindarte le mejor experiencia en Nube Colectiva.
Social
Redes Sociales (Developers)
Redes Sociales (Digital)