我正在尝试使用jquery控制JW FLV player播放器的实例。
我想要做的是有一系列链接,点击后将XML播放列表加载到播放器中。
通过遵循教程here我已经基本上按照功能方面的要求完成了工作,但即使我可以看到它像罪一样丑陋,就像我的锚点看起来像这样:< / p>
<a class="media" href="#"
onclick="player.sendEvent('STOP');
player.sendEvent('LOAD',
'path/to/playlist.xml');
return false;">load playlist</a>
虽然这得到了玩家的参考
var player = null;
function playerReady(obj)
{
player = gid(obj.id);
};
function gid(name)
{
return document.getElementById(name);
};
我希望能够做的是让我的锚点看起来像这样:
<a class="media" href="#" rel="path/to/playlist.xml">load playlist</a>
然后使用jquery查找带有class =“media”的锚点,读取元素的rel属性的值,然后将click事件绑定到它,从而触发相应的函数。唉,这超出了我极其微薄的力量。
到目前为止,我已经:
$('a.media').click(function()
{
playlist = $(this).attr("rel");
player.sendEvent('LOAD', playlist
}
);
这显然不起作用。有人想帮助一个白痴/ n00b吗?
我应该说我真正想做的就是学习,而不仅仅是让其他人去做,所以如果你能解释一些非常棒的东西。
答案 0 :(得分:4)
你所做的对我来说似乎是正确的,虽然我不确定那里是否定义了变量“玩家”;这取决于具体情况。
你能做的就是
$('a.media').click(function () {
var player = $("#player-id");
if(player.length == 1){
player = player[0];
var playlist = $(this).attr("rel");
player.sendEvent('LOAD', playlist);
}
});
答案 1 :(得分:0)
player.sendEvent('LOAD', playlist
}
);
检查括号嵌套。
否则,应该工作。但'rel'不是放置URL的好地方,因为它只应包含known tokens。为什么不把它放在你想要的'href'?你必须'返回false'或'preventDefault'来阻止舔后链接。
function playerReady(obj)
{
player = gid(obj.id);
};
function gid(name)
{
return document.getElementById(name);
};
呃,这里的gid不完全是多余的吗?为什么不只是'player = obj'?
答案 2 :(得分:0)
我在这里遇到和你一样的问题。我意识到你第一次使用
调用创建玩家var newplayer = SWFobject(width,height,playerid,version,background-color);
newplayer.addVarible(...);
newplayer.write(htmltaghold place for this player);
我记不清楚了,但它和上面的代码一样,之后你可以在jQuery中的函数playerReady(thePlayer){}中使用var player = window.document [thePlayer.id] 喜欢
jQuery("div#id").click(function(){
your code
player.sendEvent("NEXT");
});
player.sendEvent( “PLAY”); ..等等。希望我们可以谈论这个并改进jQuery