var video = "https://www.youtube.com/embed/ogfYd705cRs";
var autoVideo = video + "?modestbranding=1&rel=0&controls=0&showinfo=0&html5=1&autoplay=1";
$(".custom-modal").on("hidden.bs.modal", function (e) {
var iframe = $('#' + e.target.id).find("iframe");
iframe.attr("src", video);
})
$(".custom-modal").on("show.bs.modal", function (e) {
var iframe = $('#' + e.target.id).find("iframe");
iframe.attr("src", autoVideo);
});
那么为什么不把视频URL存储在数据属性中呢?
<iframe class="modal-iframe" type="text/html" width="640" height="360" src="" data-video="https://www.youtube.com/embed/ogfYd705cRs" frameborder="0"></iframe>
$(".custom-modal").on("hidden.bs.modal", function (e) {
var iframe = $('#' + e.target.id).find("iframe");
var video = iframe.attr("data-video");
iframe.attr("src", video);
})
$('.custom-modal').on('show.bs.modal', function (e) {
var iframe = $('#' + e.target.id).find("iframe");
var autoVideo = iframe.attr("data-video") + "?modestbranding=1&rel=0&controls=0&showinfo=0&html5=1&autoplay=1";
iframe.attr("src", autoVideo);
});
对于每个模态的多个视频,将视频URL放在用于打开模态的锚点上:
<a href="modals/somemodal.html" class="video-anchor" data-target="#modal1" data-video="https://www.youtube.com/embed/ogfYd705cRs" data-toggle="modal">
$(".video-anchor").click(function () {
var modal = $(this).data("target");
var video = $(this).attr("data-video");
var autoVideo = video + "?modestbranding=1&rel=0&controls=0&showinfo=0&html5=1&autoplay=1";
$(modal + ' iframe').attr('src', autoVideo);
});
当模态关闭时,我们将什么设置为src并不重要,因此:
$(".custom-modal").on("hidden.bs.modal", function (e) {
var iframe = $('#' + e.target.id).find("iframe");
iframe.attr("src", "");
})