2010-11-10 103 views
0

嗨,我想建立一个YouTube的脚本..店本次迭代中。每个功能

我几乎得到它工作正常,但我对视频src网址始终引用最后一次迭代中..我不要不知道如何让它存储这个迭代,这是正确的。

这里是我有:

的Jquery:

$('.tubeWrapper').each(function() { 
var tubeurl = $(".dooTubeUrl",this).text(); 
var thumb = $.jYoutube(tubeurl , 'small'); 
$(".dooTube_ThumbLink",this).append("<img src=' " + thumb + " ' />"); 

var url = tubeurl; 
$result = getList(url, "v"); 
// It is this next line that seems to be the problem, allways references the last iteration as expected, but wrong. 
$(".youtube-player",this).attr("src","http://www.youtube.com/embed/" + $result); 
}); 


$('.dooTube_ThumbLink').click(function() { 
$(".dooTubeWindow").doo_lightbox(); 
}); 

HTML:

<div class="tubeWrapper"> 
<div class="dooTubeUrl">http://www.youtube.com/watch?v=aA3dHi_o7Yw&feature=related</div> 

<div class="dooTube_ThumbLink"><div class="dooTube_Arrow"></div></div> 
<div class="dooTubeWindow"> 
    <iframe title="YouTube video player" 
class="youtube-player" 
type="text/html" 
width="480" height="390" 
src="" frameborder="0"> 
</iframe> 
</div> 

</div> 

<div class="tubeWrapper"> 
<div class="dooTubeUrl">http://www.youtube.com/watch?v=Xvj4Ud-RKrM&feature=related</div> 

<div class="dooTube_ThumbLink"><div class="dooTube_Arrow"></div></div> 
<div class="dooTubeWindow"> 
    <iframe title="YouTube video player" 
class="youtube-player" 
type="text/html" 
width="480" height="390" 
src="" frameborder="0"> 
</iframe> 
</div> 

</div> 
+0

什么是你getList函数看起来像什么?可能是因为你的管材价值很好的一个bug。 – Dave 2010-11-10 14:33:07

+0

嗨戴夫,getList函数只是从url中获取YouTube视频ID。经过测试和正确。它会愉快地播放列表中最后一个视频,在class = dooTubeUrl中,但始终是class = tubeWrapper的html中最后一次出现的视频。线索我仍然无法得到我的头是:如果我再次点击链接,而视频加载我得到正确的视频..!但不是它应该真的工作的方式。 – 2010-11-10 14:40:01

+0

你是否已经通过调试器完成了代码?我会确保$(“。youtube-player”,this)总能给你你所期望的。也可以打印出$ result的值,以便在每次迭代时都能看到它的变化。通过一些有条不紊的调试,这类问题应该很容易解决。 – morgancodes 2010-11-10 15:13:38

回答

0

你可能会丢失$结果之前VAR:

var $result = ... 
+0

没有多数民众赞成在它不是。 – 2010-11-10 16:00:30