在bootstrap模态

时间:2018-05-23 06:33:19

标签: javascript jquery html twitter-bootstrap

我有多个视频以模态显示。我不想为每个按钮创建模态以显示视频分隔。我想在所有按钮下以单一模式显示所有视频。

我找到了一个功能。它在旧版本的bootstrap上工作正常但是当我改为bootstrap 3.3.7时它没有以模态显示视频。

这是我的HTML。

<a href="https://www.youtube.com/embed/7iPoBjiFdho/" class="btn bootpopup" data-toggle="modal" data-target="#popupModal">Open modal</a>

<div id="popupModal" class="modal fade" tabindex="-1" role="dialog">
    <div class="modal-dialog">
         <div class="modal-content">
        <div class="modal-body">
            <iframe width="100%" height="315" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
        </div>
        </div>
    </div>
</div>

这是js函数。

</script>
     <script type='text/javascript'>

        $(document).ready(function() {

            $('.bootpopup').click(function(){
    var frametarget = $(this).attr('href');
  var targetmodal = $(this).attr('data-target');
  if (targetmodal == undefined) {
    targetmodal = '#popupModal';
  } else { 
    targetmodal = '#'+targetmodal;
  }
  if ($(this).attr('title') != undefined) {
    $(targetmodal+ ' .modal-header h3').html($(this).attr('title'));
    $(targetmodal+' .modal-header').show();
  } else {
     $(targetmodal+' .modal-header h3').html('');
    $(targetmodal+' .modal-header').hide();
  }  
    $(targetmodal).on('show', function () {
        $('iframe').attr("src", frametarget );   
    });
    $(targetmodal).modal({show:true});
  return false;

});

        });

        </script>

1 个答案:

答案 0 :(得分:1)

试试这样,现在应该可以了:

ByteString

https://jsfiddle.net/7nbj5jjj/