Вопрос:

Magnific-popup, как воспроизвести аудиофайл при открытии всплывающего окна и остановить воспроизведение при его закрытии

jquery magnific-popup

801 просмотра

1 ответ

0 Репутация автора

Я использую 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>
Автор: user762579 Источник Размещён: 22.08.2016 08:50

Ответы (1)


0 плюса

0 Репутация автора

Решение

Я решил это, добавив звуковой тег в каждой всплывающей ссылке на изображение

<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();
            }
        },
    });
});
Автор: user762579 Размещён: 31.08.2016 10:28
Вопросы из категории :
32x32