【问题标题】:jQuery - On Click replace iFrame content with new contentjQuery - 点击时用新内容替换 iFrame 内容
【发布时间】:2011-04-08 15:31:20
【问题描述】:

试图找出最好的方法来做到这一点。我有一个主视频播放器从 Vimeo 中提取视频。该主播放器下方是其他视频的缩略图。当用户单击缩略图时,我希望它使该缩略图视频取代主视频。

Vimeo 嵌入都是基于 iFrame 的。我不确定是否应该替换整个 iFrame,或者只是 URL 等。还有主屏幕和缩略图之间的大小差异;不确定这是否会自动进行,或者 Vimeo 代码会足够聪明地调整大小。并且 Jquery 点击可以覆盖缩略图通常期望播放小视频的点击吗?

HTML

<div class="blogPlayer">
    <iframe src="#" width="528" height="297" frameborder="0"></iframe>
</div>

<ul class="blogThumbnails>
    <li><iframe src="#" width="160" height="90" frameborder="0"></iframe></li>
    <li><iframe src="#" width="160" height="90" frameborder="0"></iframe></li>
    <li><iframe src="#" width="160" height="90" frameborder="0"></iframe></li>
</ul>

这个 jQuery 完全未经测试并在现场完成,但正在考虑类似...

$('.blogThumbnails li').click(function(){
   var video = $(this).html();
   $('.blogPlayer').replaceWith('video');
})

【问题讨论】:

    标签: jquery vimeo


    【解决方案1】:

    您应该只替换 src 文件而不是替换整个 iframe。如果要替换整个 iframe,则需要调整点击列表的属性。

    这就是我的想法:

    <div>
          <iframe src="#" id="blogPlayer" width="528" height="297" frameborder="0"></iframe>
    </div>
    
    $('.blogThumbnails li').click(function(){
       var url = $(this).attr('src');
       $('#blogPlayer).attr('src', url);
       return false;
    })
    

    如果您选择其他路线,则需要调整宽度和高度:

    $('.blogThumbnails li').click(function(){
       var video = $(this).html();
       $('.blogPlayer')
              .replaceWith(video)
              .attr({
                      width: '528',
                      height: '297'
              });
       return false;
    })
    

    【讨论】:

    • 你不应该做.replaceWith(video),因为video是一个变量吗?
    • 你不应该做.attr({ width: '528', height: '297'})吗?更不用说你是否使用了style,在你的; 之后有一个,
    • 谢谢斯科特。我在没有真正考虑过的情况下就完成了!下次我应该在编辑器中重写代码。
    • @nolabel - 哈哈,不用担心。我也一样。我必须仔细查看 10 次,但总有一些我错过了。
    • 谢谢,我认为仅替换 URL 的想法是最好的,但是有 2 点。首先,我的点击如何覆盖仅播放实际剪辑的 Vimeo 播放器缩略图?其次,当页面加载后,iframe 实际上有一些用于 Flash 播放器等的 src 属性,我如何确定它获得了正确的 src 属性?
    猜你喜欢
    • 2014-06-13
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2014-12-28
    • 1970-01-01
    相关资源
    最近更新 更多