【问题标题】:magnific-popup, how to play an audio file when popup open and stop playing when closing itmagnific-popup,如何在弹出窗口打开时播放音频文件并在关闭时停止播放
【发布时间】:2016-08-22 20:50:23
【问题描述】:
我正在使用 magnific-popup 来显示图片...
是否可以在弹出窗口打开时开始播放音频文件并在关闭窗口时停止播放?
<a href="images/capoeira.jpg" class="fh5co-project-item image-popup to-animate">
<img src="images/berimbau.jpg" alt="Animason groupes" class="img-responsive">
<div class="fh5co-text">
<h1>ANIMA'SON</h1>
<span>Participants: minimum 10, maximum: 20</span>
</div>
</a>
【问题讨论】:
标签:
jquery
magnific-popup
【解决方案1】:
我通过在每个图像弹出链接中添加一个音频标签来解决它
<a href="images/capoeira.jpg" data-sound="berimbau" class="fh5co-project-item image-popup to-animate">
<img src="images/berimbau.jpg" alt="Animason groupes" class="img-responsive">
<div class="fh5co-text">
<h1>ANIMA'SON</h1>
<h2>60€ / heure / groupe</h2>
<span>Participants: minimum 10, maximum: 20</span>
</div>
<audio id="berimbau-audio" loop="loop" preload="none">
<source src="./sounds/berimbau.ogg" type="audio/ogg">
<source src="./sounds/berimbau.mp3" type="audio/mpeg">
</audio>
</a>
并在 magnific-popup-options.js 中添加回调,使用 data-sound 参数和 audio.id
$(document).ready(function() {
var soundName;
var audioElement;
// MagnificPopup
$('.image-popup').magnificPopup({
....
callbacks: {
elementParse: function(item) {
soundName = item.el[0].attributes['data-sound'].value;
audioElement= document.getElementById(soundName + "-audio")
audioElement.load();
},
close: function() {
audioElement.pause();
},
change: function() {
audioElement.play();
}
},
});
});