只播放与每个div相对应的声音

时间:2015-12-02 22:41:42

标签: jquery

我有一些div,每个div都有一个声音相关联。

当播放声音时,只会出现停止按钮。

我想点击"播放"在每个div中播放对应于具有" play"的div的声音。我点击的地方。

但它没有那样工作,当我点击播放时它正在播放所有声音。

http://jsfiddle.net/c03zqxw8/2/

jquery的:

$(document).ready(function() {
        var audioElement = document.getElementById('audio1');
        $('.stop').hide();
        $('.play').click(function() {
            $('.play').hide();
            $('.stop').show();
            audioElement.play();
        });

        $('.stop').click(function() {
            $('.play').show();
            $('.stop').hide();
            audioElement.pause();
        });
});

1 个答案:

答案 0 :(得分:1)

您可以使用$(this)prev()next()这样

$(document).ready(function() {
            $('.stop').hide();

        $('.play').click(function() {
            $(this).hide();
            $(this).next('.stop').show();  $(this).closest('div').find('audio[id^="audio"]').get(0).play();
        });


        $('.stop').click(function() {
            $(this).prev('.play').show();
            $(this).hide();
              $(this).closest('div').find('audio[id^="audio"]').get(0).pause();
        });
});

Working Demo

有关详细信息,您可以查看此How do I play an audio file with jQuery?