Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema Function solo funciona una vez

Estas en el tema de Problema Function solo funciona una vez en el foro de Frameworks JS en Foros del Web. Tengo el siguiente script @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function tomarid ( $id ) {         var v = $id ...
  #1 (permalink)  
Antiguo 05/08/2011, 20:56
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años, 8 meses
Puntos: 9
Exclamación Problema Function solo funciona una vez

Tengo el siguiente script

Código Javascript:
Ver original
  1. function tomarid($id){
  2.    
  3.     var v = $id,
  4.         player = false,
  5.         key = 'AI39si73J88KqOpnS0qufASk1veyM38Bx1c2n4FNr--LoSh3hQrNI6BT9PsWblRvP_gbX2sQ651gR0ThY1lCABwSL5aFedgPqQ',
  6.         url = 'http://gdata.youtube.com/feeds/api/videos/'+v+'?callback=?&key='+key+'&format=5&alt=json';
  7.    
  8.     $('#video-'+v).live('player', function(){
  9.         $(this).tubeplayer({
  10.             width: 500,
  11.             height: 350,
  12.             initialVideo: v,
  13.             allowFullScreen: false,
  14.             onPlayerPlaying: function(){
  15.                 $('.controls').find('.play').addClass('pause').removeClass('play');
  16.             },
  17.             onPlayerPaused: function(){
  18.                 $('.controls').find('.pause').removeClass('pause').addClass('play');
  19.             },
  20.             onPlayerEnded: function(){
  21.                 $('.controls').find('.pause').removeClass('pause').addClass('play');
  22.             },
  23.             onStop: function(){
  24.                 $('.controls').find('.pause').removeClass('pause').addClass('play');
  25.             }
  26.         });
  27.         if (!$(this).find('.stop').length)
  28.             $(this).prepend($('<a />').attr('href', '#').addClass('stop').text('Stop'));
  29.         player = true;
  30.     });
  31.    
  32.     $.getJSON(url, function(response){
  33.             var html = '',
  34.                 video = response.entry,
  35.                 title = video.title.$t,
  36.                 category = video.media$group.media$category[0].label,
  37.                 thumb = video.media$group.media$thumbnail[2].url,
  38.                 views = video.yt$statistics.viewCount,
  39.                 favs = video.yt$statistics.favoriteCount,
  40.                 duration = video.media$group.yt$duration.seconds;
  41.             html += '<div class="image">';
  42.             html += '<img src="'+thumb+'" alt="" />';
  43.             html += '<div class="controls"><a href="#" class="play">Play</a></div>';
  44.             html += '</div>';
  45.             html += '<div class="entry">';
  46.             html += '<p class="title">'+title+' ('+parseInt(duration/60)+':'+duration%60+')</p>';
  47.             html += '<span>Views: '+views+'</span>';
  48.             html += '<span>Category: '+category+'</span>';
  49.             html += '<span class="favs">'+favs+'</span>';
  50.             html += '</div>';
  51.             $('#video').html(html).after(
  52.                 $('<div />').attr('id', 'video-'+v).addClass('ytube')
  53.             );
  54.     });
  55.    
  56.    
  57.     $('.controls').find('.play').live('click', function(){
  58.         player == true ? $('#video-'+v).tubeplayer('play') : $('#video-'+v).fadeIn().trigger('player');
  59.         return false;
  60.     });
  61.    
  62.     $('.controls').find('.pause').live('click', function(){
  63.         $('#video-'+v).tubeplayer('pause');
  64.         return false;
  65.     });
  66.    
  67.     $('#video-'+v).find('.stop').live('click', function(){
  68.         $('#video-'+v).tubeplayer('stop').fadeOut();
  69.         player = false;
  70.         return false;
  71.     });
  72.            
  73. };

y el siguiente html

Código HTML:
Ver original
  1. <div id="video"><script>tomarid("O4XW2LaW5Gw")</script></div>
  2.    
  3. <br />
  4. <div id="video"><script>tomarid("05yttrpX-Qg")</script></div>

El problema es que la funcion solo funciona una vez, ya no se que puede ser..
  #2 (permalink)  
Antiguo 06/08/2011, 13:22
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Problema Function solo funciona una vez

Estuve buscando informacion, y parece que puede ser problema de getJSON, segun lei hay que modificar algo para que funcione mas de una vez en una misma pagina
  #3 (permalink)  
Antiguo 06/08/2011, 19:28
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Problema Function solo funciona una vez

Podria ser talvez tambien la forma en la cual consigo el id para la variable?

Etiquetas: function, html, javascript, js, vez
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 06:58.