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