javascript - 单击时动态加载 iframe

标签 javascript jquery iframe

我有一个 bootstrap 3 列的 youtube 视频

<div class="col-md-4">
  <div class="video_img_wrapper">
    <img class="video_img" data-toggle="modal" class="ytVideo" id="'.$item->id->videoId.'" data-target="#myModal_'.$item->id->videoId.'" src="'.$thumbnailUrl.'" />
    <img src="'.get_bloginfo('template_url').'/assets/img/playicon-nl.png" class="fa-play-circle-o" aria-hidden="true" data-toggle="modal" data-target="#myModal_'.$item->id->videoId.'" />
  </div>
  <div class="video_title"><span>'. $item->snippet->title .'</span></div>
</div>

<div class="modal fade youtube-modal" id="myModal_'.$item->id->videoId.'" role="dialog">
  <div class="modal-dialog">
    <div class="modal-body" id="videoModalBody"></div>
  </div>
</div>

我在 #videoModalBody div

中使用 jquery 注入(inject)一个 iframe
$(".video_img").click(function(evt){
  var videoId = $(this).attr("id");
  var iframe = '<iframe enablejsapi=1 id="myModal_'+videoId+'" width="850" height="500" src="https://www.youtube.com/embed/'+videoId+'" frameborder="0" allowfullscreen></iframe>';
  $("#videoModalBody").append(iframe);
});

如何更改我的 Javascript,以便当我点击另一个视频时,前一个视频将从 DOM 中删除?

最佳答案

您可以在 iframe 上设置一个全局 class,然后在添加新的 iframe 之前删除所有 iframe:

$('.globalIframe').remove();
$("#videoModalBody").append(iframe);

$(".video_img").click(function(evt) {
  var videoId = $(this).attr("id");
  var iframe = '<iframe enablejsapi=1 id="myModal_' + videoId + '" class="globalIframe" width="850" height="500" src="https://www.youtube.com/embed/' + videoId + '" frameborder="0" allowfullscreen></iframe>';
  $('.globalIframe').remove();
  $("#videoModalBody").append(iframe);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="video_img">Click Me</a>
<div id="videoModalBody"></div>

关于javascript - 单击时动态加载 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47883904/

相关文章:

javascript - 如何检查字符串是否包含多个单词?

jquery - 平滑从静态定位到粘性 header 固定定位的过渡?

jquery - 如何调用外部json文件或文件夹中的文件

html - Facebook Likebox "allowTransparency"在 W3C 验证器中给出无效的 XHTML

javascript - 如何通过 Facebook API 获取生日?

javascript - 如何编写名为 `add` 的单个函数。这样一旦它收到 2 个参数,它就会返回 2 个值的总和

javascript - 获取 ajax post 请求的用户输入?

php - 自动换行避免每行单个单词

javascript - Facebook 的“赞”按钮 iframe 如何通过弹出框进行扩展而不搞砸其他一切?

javascript - 允许在 iframe 中混合内容