2010-10-13 56 views
1

这里是我的html页面看起来像(测试)什么:动态交换的Youtube视频,而无需重新加载页面

<div style="width: 640px;"> 
<object width="640" height="385"><param class="movie" name="movie" value="http://www.youtube.com/v/zkd5dJIVjgM"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/zkd5dJIVjgM" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object> 
<ul> 
    <li><a class="btn" href="http://www.youtube.com/watch?v=n3gYWBu1NDI">Video 1</a></li> 
    <li><a class="btn" href="http://www.youtube.com/watch?v=7o53S5JROfg">Video 2</a></li> 
    <li><a class="btn" href="http://www.youtube.com/watch?v=e2ZB-1kDOdQ">Video 3</a></li> 
    <li><a class="btn" href="http://www.youtube.com/watch?v=d-PDXAcUw0s">Video 4</a></li> 
    <li><a class="btn" href="http://www.youtube.com/watch?v=vCH8O1dLSbc">Video 5</a></li> 
    <li><a class="btn" href="http://www.youtube.com/watch?v=Q8kLlNt3Ue4">Video 6</a></li> 
</ul> 
</div> 

和我的jQuery看起来是这样的:

$('.btn').click(function(e){ 
e.preventDefault(); 
var val = $(this).attr("href"); 
$('embed').attr('src', val); 
}); 

我想要做的是能够点击列表项中的每个链接,并让该视频重新显示当前的视频。因此,每次点击都会导致占据顶部视频的不同视频。谁能帮忙?

回答

0

你有什么,如果你添加应工作:

$('param[name=movie]').attr('value', val); 
+0

我试过了,但是当我点击一个新的网址时,它就会变成空白,新的视频不会显示在过去的视频中。 – Tillz 2010-10-13 14:56:04

+0

我也有这个问题。如果有人知道解决方案,请发布答案。 – thomallen 2010-12-08 21:37:05

1

我不知道如果你解决了这个问题,反正这个问题可能是在参数标签属性的值的URL有不同于HREF属性中指定的格式。

<param class="movie" name="movie" value="http://www.youtube.com/v/zkd5dJIVjgM"> 
<a class="btn" href="http://www.youtube.com/watch?v=n3gYWBu1NDI"> 

我想你应该通过PARAM标签的字符串以正确的格式,像

http://www.youtube.com/v/VIDEO_ID_HERE

其实我没有测试这一点,但你可以给它一个尝试。

相关问题