我的页面上有一些链接,每个人都链接到一个弹出窗口,该弹出窗口应加载带有动态源属性的iframe
。 iframe
有一个名为'pholder'的div,其中应加载iframe
。因此,每个链接应该是另一个iframe
。但事实并非如此。它总是一样的。确切地说,它始终是最后一个链接,我不知道为什么。在这里,您可以看到弹出窗口的HTML:
<div id="toPopup3">
<div id="videoContainer">
<div id="activeVideo">
<div class="pholder"></div>
</div>
</div>
</div> <!--toPopup3 end-->
我必须说我的链接都有类toPopup3 link + e
。 e
是视频的最大值(0-23)。所以我使用此代码添加iframe
:
var videoLink;
var split;
$('[class^="topopup3 link"]').each(function(){
videoLink = $(this).attr('href');
split = videoLink.split("/");
});
$('.pholder').html('<iframe src="http://player.vimeo.com/video/'+split[3]+'?title=0&byline=0&portrait=0&color=fc6626" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>');
所以它始终显示iframe
中的最后一个来源,我没有摆脱它。有人能帮助我吗?
以下是指向该网页的实时版本的链接:Live Page。问题出现在'电影制作'上。我还在代码中添加console.log(split[3]);
以查看链接的顺序。
答案 0 :(得分:2)
修改:如果能够更深入地了解您的目标,我认为使用点击处理程序完成此任务会更好:
$('[class^="topopup3 link"]').on('click', function(){
var videoLink = $(this).attr('href');
split = videoLink.split("/");
$('.pholder').html('<iframe src="http://player.vimeo.com/video/'+split[3]+'?title=0&byline=0&portrait=0&color=fc6626" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>');
// may need to show the iframe modal or whatever here
});
在完成循环之前,您没有对split
变量做任何事情,因此该值将是最后一个。如果您想要使用每个值,则需要将后续的$('.pholder')...
代码移到each
块中