비디오 src
와 비디오에 대한 정보를 보관하는 DB가 있습니다 .
while 루프로 해당 변수를 가져 와서 jquery
스크립트로 전달 하지만 비디오의 src
속성이 정확 하더라도 비디오가 새 소스 링크를 재생하지 않습니다.
Bootstrap Docs에 제공된 코드를 사용했습니다.
<div class="pb-2 pr-0 col col-xs-12 col-sm-6 col-md-3 col-lg-2 col-xl-2" id="item">
<a href="#" data-toggle="modal" data-target="#exampleModal" data-user="9GAG" data-link="https://video.twimg.com/amplify_video/1343598947286183946/vid/720x900/Jg8plRtix-yjzP6g.mp4">
<img class="rounded" src="https://pbs.twimg.com/amplify_video_thumb/1343598947286183946/img/_WUUCNjodgFAwfdw.jpg:thumb" alt="9GAG">
</a>
</div>
**This is my Modal HTML**
<div id="myVideo">
<video id="myVideo" width="1280" height="720" controls poster="" class="myvideo img-fluid">
<source src="" type="video/mp4">
</video>
</div>
이것은 JS입니다
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget)
var link = button.data('link')
var user = button.data('user')
var modal = $(this)
moda1l.find('.modal-title').text(user)
modal.find('.video source').attr('src', link)
})
해결책을 찾기 위해 주제를 검색했는데 비슷한 문제와 해결책이 있었지만 신인으로서이 해결책을 내 코드에 적용 할 수 없었습니다. 도움을 주셔서 미리 감사드립니다.
-솔루션 후 편집- 최종 js 코드는 다음과 같습니다.
//to pause the video if modal closed
$('#exampleModal').on('hide.bs.modal', function (event) {
let video = document.getElementById('myVideo');
video.pause();
});
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget)
var link = button.data('link')
var user = button.data('user')
var modal = $(this)
modal.find('.modal-title').text(user)
$('#myVideo source').attr('src', link)
$('#myVideo')[0].load();
//autoplay if modal opened
$('#myVideo')[0].play();
})
소스 선택기를 변경 한 다음 비디오를로드 ()해야합니다.
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget)
var link = button.data('link')
var user = button.data('user')
var modal = $(this)
modal.find('.modal-title').text(user)
$('#myVideo source').attr('src', link)
$('#myVideo')[0].load();
})
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다