Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2011, 20:56
Avatar de hackcrack
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..