【发布时间】:2020-05-21 17:42:24
【问题描述】:
我有超过 50 个 youtube 视频要在静态页面上以模式显示。当然,每个模态都有一个单独的按钮。但是,我不想创建 50 种不同的模式。所以这就是我到目前为止得到的结果
演示:https://jsfiddle.net/b4a1ekyw/
HTML:
<div class="container">
<h2>Modal Example</h2>
<button type="button" class="btn btn-info btn-lg modalButton" data-name="Clicked Modal 1" data-toggle="modal">Open Modal 1</button>
<button type="button" class="btn btn-info btn-lg modalButton" data-name="Clicked Modal 2" data-toggle="modal">Open Modal 2</button>
<button type="button" class="btn btn-info btn-lg modalButton" data-name="Clicked Modal 3" data-toggle="modal">Open Modal 3</button>
<button type="button" class="btn btn-info btn-lg modalButton" data-name="Clicked Modal 4" data-toggle="modal">Open Modal 4</button>
<button type="button" class="btn btn-info btn-lg modalButton" data-name="Clicked Modal 5" data-toggle="modal">Open Modal 5</button>
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Modal Header</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div>
</div>
JS:
$(document).ready(function(e) {
$('#myModal').modal({
backdrop: 'static',
keyboard: false,
show: false,
});
$(document).on("click", ".modalButton", function() {
var ClickedButton = $(this).data("name");
$(".modal-body").html("<p>" + ClickedButton + "</p>");
$('#myModal').modal('show');
});
});
这是显示 youtube 视频的示例代码:
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/zpOULjyy-n8" allowfullscreen></iframe>
</div>
data-name这个视频代码我不知道怎么调用。
【问题讨论】:
-
这是你想要的吗jsfiddle.net/jr1cbL3y
-
是的!请将其发布为答案。
-
你可以做的是有一个 AJAX 函数,它将视频 url 解析为你的模态,然后每个模态都有一个不同的 url,因此取决于单击哪个按钮,会显示不同的视频。这样一来,您只需要担心编码一个模态。
标签: javascript jquery twitter-bootstrap bootstrap-4