编程语言
首页 > 编程语言> > javascript – jquery中的一个div二函数

javascript – jquery中的一个div二函数

作者:互联网

到目前为止,我已经看了很多但没什么.我被卡住了.

我有一个html音频元素,我想用div控制它.当我点击div它播放音乐,但我需要的是当我再次点击它停止播放但不知道如何.

这是音频标签.

<audio class="audioplayer" preload="none" style="display: none;" >
   <source  src="audio/ocean.mp3" type="audio/mpeg">
</audio>

这是用div控制游戏的jquery(#ocean).

$('#ocean').click(function() {
          if ('.audioDemo'.paused == false) {
              $(".audioDemo").trigger('pause');
          } else {
              $(".audioDemo").trigger('play');
          }
        });

        function stopAudio(){
            $(".audioDemo").trigger('pause'); //pause playing
            $(".audioDemo").prop("currentTime",0); //set play time to 0
        }

我已经写了停止功能,但只有当我把它放在另一个div上时才有效.我已尝试过.暂停但它不起作用.

如何使用相同的div作为播放和停止?

谢谢

解决方法:

字符串没有暂停属性,因此请检查’.audioDemo’.pause不起作用.您需要检查普通的HTMLAudioElement对象暂停属性.

因此,在jQuery的帮助下,您选择$(“.audioDemo”)jQuery对象集合,然后从那里获取原始HTML元素作为此集合的第一个元素:

$('#ocean').click(function () {
    if ($(".audioDemo")[0].paused == false) {
        $(".audioDemo").trigger('pause');
    } else {
        $(".audioDemo").trigger('play');
    }
});

或者一点点优化代码:

$('#ocean').click(function () {
    var $audioObj = $(".audioDemo");
    $audioObj.trigger(!$audioObj[0].paused ? 'pause' : 'play');
});

function stopAudio() {
    $(".audioDemo").trigger('pause').prop("currentTime", 0);
}

标签:javascript,jquery,html5,html5-audio
来源: https://codeday.me/bug/20190824/1710931.html