3
    <a id="bgndVideo" href="http://www.youtube.com/watch?v=mAf6zKRb1wI" 
class="movie {opacity:.8, isBgndMovie:{width:'window',mute:false}, o
ptimizeDisplay:true, showControls:true, ratio:'4/3', loop: true}">vito 
acconci theme song 1973</a>

以上是我在文档中使用的 html,用于嵌入 javascript chromeless youtube 播放器作为背景。我从http://pupunzi.com/mb.components/mb.YTPlayer/demo/demo_background.html得到代码

href控制设置为背景的视频我想用常量动态改变上面html的href。

我试过的:

var DATA = VideoID

$("bgndVideo").attr("href", DATA)

这没有用,也没有

document.getElementById("bgndVideo").href=DATA;

这也不起作用。有什么建议么?在上面的示例站点上查看源代码以更好地理解我的意思可能是一个好主意,我发现很难正确地表达我的问题!

4

1 回答 1

1

您不能通过更改href. 它已经被使用过,一旦你初始化播放器,它就不再可供播放器使用。如果您在初始之前更改 URL,那么可以,但这可能不是您想要的。

看看这里:

https://github.com/pupunzi/jquery.mb.YTPlayer/wiki

$.fn.changeMovie(网址,选择)

这个方法让你改变指定播放器的视频,传递一个新的参数对象来设置特定的属性。

这是我对您的代码的看法

$('#bgndVideo').changeMovie('http://www.youtube.com/watch?v='+DATA, {opacity:.4, ratio:'16/9'});

但是,我认为您可能想要这个:

var movies = [
  {"id":"mAf6zKRb1wI","title":"Vito Acconci theme song 1973 -- part 1"},
  {"id":"2MxhNdyADEU","title":"Vito Acconci theme song 1973 -- part 2"},
  {"id":"xOsWwpzqlZw","title":"Vito Acconci theme song 1973 -- part 3"}
]; // note no comma after the last

$(function() {
  $.each(movies,function() {
    $("#container").append('<button data-id="'+
      $(this).id+'" class="buttons">'+
      $(this).title+'</button>');
  });
  $(".buttons").on("click", function() {
    $("#bgndVideo").changeMovie("http://www.youtube.com/watch?v="+
     $(this).data("id"), {opacity:.4, ratio:"16/9"});
  });
});
于 2013-04-28T21:06:14.807 回答