Foros del Web » Programando para Internet » Javascript »

Slideshow de videos de YouTube

Estas en el tema de Slideshow de videos de YouTube en el foro de Javascript en Foros del Web. Código: <div id="videos-content"> </div> <script type="text/javascript"> function showMyVideos(data) { var feed = data.feed; var entries = feed.entry || []; var html = ['<ul>']; for (var ...
  #1 (permalink)  
Antiguo 18/06/2011, 11:05
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 13 años, 10 meses
Puntos: 1
Pregunta Slideshow de videos de YouTube

Código:
<div id="videos-content">
</div>
<script type="text/javascript">
function showMyVideos(data) {
  var feed = data.feed;
  var entries = feed.entry || [];
  var html = ['<ul>'];
  for (var i = 0; i < entries.length; i++) {
    var entry = entries[i];
    var title = entry.title.$t;
    var img = entries[i].media$group.media$thumbnail[0].url;
    var yturl = entries[i].media$group.media$content[0].url;
    html.push("<img src='" + img + "'><a href='" + yturl + "' rel='shadowbox[HOME];width=640;height=388'><li>" + title + "</li></a></img>");
  }
  html.push('</ul>');
  document.getElementById('videos-content').innerHTML = html.join('');
}
</script>
<script src="http://gdata.youtube.com/feeds/users/IDRIDPlanet/uploads?alt=json-in-script&amp;format=5&amp;callback=showMyVideos" type="text/javascript">
</script>
Hola quiero hacer un slideshow con 2 botones (Anterior y siguente), y que cambie cada segundo y que al situar el ratón, no cambie.

¿Como puedo hacerlo?
  #2 (permalink)  
Antiguo 18/06/2011, 15:57
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Slideshow de videos de YouTube

Si lo que querés es mostrar varios videos en un slide, en mi firma tengo un script en jQuery que hice yo que permite usar cualquier contenido HTML. Podés usar videos de YouTube sin problemas (fijate en el demo) y además tiene la opción "auto" para mover automáticamente cada cierto "tiempo" y además "pausarHover" que pausa el movimiento al mover el mouse encima del slider.

Espero te sirva y cualquier duda no dudes en preguntar :P
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 19/06/2011, 09:42
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Slideshow de videos de YouTube

Cita:
Iniciado por Naahuel Ver Mensaje
Si lo que querés es mostrar varios videos en un slide, en mi firma tengo un script en jQuery que hice yo que permite usar cualquier contenido HTML. Podés usar videos de YouTube sin problemas (fijate en el demo) y además tiene la opción "auto" para mover automáticamente cada cierto "tiempo" y además "pausarHover" que pausa el movimiento al mover el mouse encima del slider.

Espero te sirva y cualquier duda no dudes en preguntar :P
Es justo lo que busco, gracias, una duda, ¿Se puede coger la transicion elejida de Easing y añadirla a tu js con su texto de copyright? (Para reducir tiempos de carga)

Y una cosita mas, hay un error cuando pulsas los botones direccionales durante el desplazamiento de auto.
  #4 (permalink)  
Antiguo 19/06/2011, 12:27
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Slideshow de videos de YouTube

Claro, copiá la función de easing que necesites en el mismo archivo o en cualquier lado antes de cargar el plugin.

¿Cuál error? Sé de un problema que planeo arreglar porque puede resultar molesto, que es que los botones están habilitados incluso durante la animación lo que hace que presionando el botón rápidamente se mueva sin detenerse incluso si acabaron los slides :P

Yo la verdad lo considero un error menor, pues no afecta a la usabilidad gravemente.
__________________
nahueljose.com.ar
  #5 (permalink)  
Antiguo 20/06/2011, 09:42
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Slideshow de videos de YouTube

Cita:
Iniciado por Naahuel Ver Mensaje
Claro, copiá la función de easing que necesites en el mismo archivo o en cualquier lado antes de cargar el plugin.

¿Cuál error? Sé de un problema que planeo arreglar porque puede resultar molesto, que es que los botones están habilitados incluso durante la animación lo que hace que presionando el botón rápidamente se mueva sin detenerse incluso si acabaron los slides :P

Yo la verdad lo considero un error menor, pues no afecta a la usabilidad gravemente.
No era un error xDD

Ahora mismo estoy usando tu plugin en el gadget que tengo de Videos, supongo que no funciona porque aun el elemento no ha sido creado, ¿como debo hacer para que a Videos y Levels se inicie el slideshow cuando el otro plugin ya ha puesto los datos? :S

Estoy usando Google API y un plugin llamado rssdisplayer.

PD: He comprimido el Easing pero ya lo probe sin comprimir.

Última edición por IDRID; 20/06/2011 a las 09:51
  #6 (permalink)  
Antiguo 20/06/2011, 12:01
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Slideshow de videos de YouTube

Bueno cargando el plugin al final funciona, después de cargar el gadget.

Para estilizarlo necesitás saber un poco de CSS. Mirá este ejemplo que te hice (Asegurate de cambiar las rutas de los scripts de easing y el slider)

Código HTML:
Ver original
  1. <!-- estilos necesarios -->
  2. *{margin:0; padding:0;} /*reset necesario*/
  3.  
  4. #videos-content ul,#videos-content{
  5.     width:640px;
  6.     height:400px;/*un poco mas de altura por el titulo*/
  7.     position:relative;
  8.     overflow:hidden;
  9. }
  10. #videos-content li {
  11.     width:640px;
  12.     height:400px;/*un poco mas de altura por el titulo*/
  13. }
  14. .botonAnterior, .botonSiguiente{
  15.     position:absolute;
  16.     top:50%;
  17. }
  18. .botonAnterior{left:0;}
  19. .botonSiguiente{right:0;}
  20.  
  21.  
  22. <div id="videos-content">
  23. </div>
  24. <script type="text/javascript">
  25. function showMyVideos(data) {
  26.   var feed = data.feed;
  27.   var entries = feed.entry || [];
  28.   var html = ['<ul>'];
  29.   for (var i = 0; i < entries.length; i++) {
  30.    var entry = entries[i];
  31.    var title = entry.title.$t;
  32.    var img = entries[i].media$group.media$thumbnail[0].url;
  33.    var yturl = entries[i].media$group.media$content[0].url;
  34.     //cambio en esta línea
  35.    html.push("<li><img src='" + img + "' /><p><a class='video-titulo' href='" + yturl + "' rel='shadowbox[HOME];width=640;height=388'>" + title + "</a></p></li>");
  36.   }
  37.   html.push('</ul>');
  38.   document.getElementById('videos-content').innerHTML = html.join('');
  39. }
  40. <script src="http://gdata.youtube.com/feeds/users/IDRIDPlanet/uploads?alt=json-in-script&amp;format=5&amp;callback=showMyVideos" type="text/javascript">
  41.  
  42. <!--jquery + easing-->
  43. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script>
  44. <script src="jquery.easing.1.3.js"></script>
  45. <!--el plugin-->
  46. <script src="sliderFacil2000.v2.js"></script>
  47. $(function(){
  48.     $('#videos-content').sliderFacil2000({
  49.         easing : 'easeOutExpo',
  50.         auto: true,
  51.     });
  52. });

Observá que cambié un poco el enmarcado que estás generando con tu gadget para optimizarlo un poco :)
__________________
nahueljose.com.ar
  #7 (permalink)  
Antiguo 20/06/2011, 12:15
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Slideshow de videos de YouTube

Sorry por no especificar, con Videos me refiero al de la pagina principal (El que esta al lado de Featured Video) , si miras el codigo de fuente aparece la llamada a tu script. ;)
  #8 (permalink)  
Antiguo 20/06/2011, 12:17
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Slideshow de videos de YouTube

Em, ¿dónde?
__________________
nahueljose.com.ar
  #9 (permalink)  
Antiguo 20/06/2011, 15:31
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Slideshow de videos de YouTube

Cita:
Iniciado por Naahuel Ver Mensaje
Em, ¿dónde?
En http://idridplanet.blogspot.com#rvideos , busca rvideos en el codigo de fuente. ;)
  #10 (permalink)  
Antiguo 21/06/2011, 05:13
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Slideshow de videos de YouTube

Esto es lo que me dice la consola de Chrome:


sliderFacil2000.v2 > Failed to load resource: the server responded with a status of 404 (Not Found)
http://idridplanet.blogspot.com/:1
Uncaught
SyntaxError: Unexpected token <
/#rvideos:46Uncaught TypeError: Object [object Object] has no method 'sliderFacil2000'


Es decir, no has cargado el archivo del plugin y tenés un error de sintaxis (un "<" olvidado por ahí).
__________________
nahueljose.com.ar
  #11 (permalink)  
Antiguo 21/06/2011, 05:21
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Slideshow de videos de YouTube

Aparentemente pusiste "sliderFacil2000.v2" y no "sliderFacil2000.v2.js" en la ruta al archivo.
__________________
nahueljose.com.ar
  #12 (permalink)  
Antiguo 21/06/2011, 06:43
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Slideshow de videos de YouTube

Cita:
Iniciado por Naahuel Ver Mensaje
Aparentemente pusiste "sliderFacil2000.v2" y no "sliderFacil2000.v2.js" en la ruta al archivo.
Ya esta, y es perfecto, solo me queda poner un pcoo de estilo, el unico problema esque lo estoy llamando cuando carga la pagina, ya que el script tarda en cargar.
Código:
google.load("feeds", "1") //Load Google Ajax Feed API (version 1)

function rssdisplayer(divid, url, feedlimit, showoptions,callback){
this.showoptions=showoptions || "" //get string of options to show ("date" and/or "description")
var feedpointer=new google.feeds.Feed(url) //create new instance of Google Ajax Feed API
feedpointer.setNumEntries(feedlimit) //set number of items to display
document.write('<div id="'+divid+'">Loading feed...</div>')
this.feedcontainer=document.getElementById(divid)
var displayer=this
feedpointer.load(function(r){displayer.formatoutput(r)}) //call Feed.load() to retrieve and output RSS feed
}


rssdisplayer.prototype.formatdate=function(datestr){
var itemdate=new Date(datestr)
return "<span style='color:gray; font-size: 90%'>"+itemdate.toLocaleString()+"</span>"
}


rssdisplayer.prototype.formatoutput=function(result){
if (!result.error){ //if RSS feed successfully fetched
var thefeeds=result.feed.entries //get all feed entries as a JSON array
var rssoutput="<ul>"
for (var i=0; i<thefeeds.length; i++){ //loop through entries
var itemtitle="<a href=\"" + thefeeds[i].link + "\"target='_blank'>" + thefeeds[i].title + "</a>"
var itemdate=/date/i.test(this.showoptions)? this.formatdate(thefeeds[i].publishedDate) : ""
var itemdescription=/description/i.test(this.showoptions)? "<br />"+thefeeds[i].content : /snippet/i.test(this.showoptions)? "<br />"+thefeeds[i].contentSnippet  : ""
rssoutput+="<li>" + itemtitle + " " + itemdate + itemdescription + "</li>"
}
rssoutput+="</ul>"
this.feedcontainer.innerHTML=rssoutput
}
else //else, output error
alert("Error fetching feeds: "+result.error.message)
}

//USAGE SYNTAX: new rssdisplayer("divid", "rssurl", numberofitems, "displayoptions")
//new rssdisplayer("adiv", "http://www.cssdrive.com/index.php/news/rss_2.0/", 5, "date, description")
He estado mirando callback.call pero nada
  #13 (permalink)  
Antiguo 21/06/2011, 06:52
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Slideshow de videos de YouTube

Mmm. Intentá usando:

Código Javascript:
Ver original
  1. $(window).load(function(){
  2.     $('#home-videos').sliderFacil2000();
  3. });

No te olvides que en el slider, la función "auto" no está activada por defecto.
__________________
nahueljose.com.ar
  #14 (permalink)  
Antiguo 21/06/2011, 07:02
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Slideshow de videos de YouTube

Cita:
Iniciado por Naahuel Ver Mensaje
Mmm. Intentá usando:

Código Javascript:
Ver original
  1. $(window).load(function(){
  2.     $('#home-videos').sliderFacil2000();
  3. });

No te olvides que en el slider, la función "auto" no está activada por defecto.
Muchas gracias, ya funciona ;)

Si esque al final no la voy a usar.
  #15 (permalink)  
Antiguo 21/06/2011, 07:05
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Slideshow de videos de YouTube

Si :)

Ahora te queda estilizarlo. Cosas que tenés que tener en cuenta:

Necesitás estilizar los <li> de forma que todos tengan las mismas dimensiones.
Necesitás dar al contenedor un position relative de forma de poder posicionar los botones de siguiente y anterior.

Cualquier cosa que necesites preguntá :)
__________________
nahueljose.com.ar
  #16 (permalink)  
Antiguo 28/04/2015, 19:08
Avatar de JulianArts  
Fecha de Ingreso: diciembre-2012
Ubicación: Chile
Mensajes: 13
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Respuesta: Slideshow de videos de YouTube

Estimado Naahuel:

Es posible que subas de nuevo a este hilo tu solución a este problema. Quisiera reproducir videos en mi web pero la tuya aun no esta disponible. Desde ya muchas gracias por la ayuda!!

Etiquetas: slideshow, youtube
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:18.