一个div两个功能jquery
One div two functions in jquery
我已经查看了所有内容,但到目前为止还没有。我卡住了。
我有一个 html 音频元素,我想用 div 控制它。当我点击 div 时它播放音乐,但我需要的是当我再次点击它时停止播放但不知道如何。
这是音频标签。
<audio class="audioplayer" preload="none" style="display: none;" >
<source src="audio/ocean.mp3" type="audio/mpeg">
</audio>
这是jquery用div(#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 上。我试过那个 .paused 但它不起作用。
如何使用与播放和停止相同的 div?
谢谢
字符串没有 pause
属性,所以检查 '.audioDemo'.pause
不起作用。您需要检查普通 HTMLAudioElement
对象 pause
属性。
所以在 jQuery 的帮助下,你 select $(".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);
}
考虑以下代码:
$('#ocean').click(function () {
if ($(".audioDemo").get(0).paused == false) {
$(".audioDemo").trigger('pause');
} else {
$(".audioDemo").trigger('play');
}
});
选择索引元素时可以使用以下方法:
$("#element")[index]
$("#element").get(index)
$("#element").eq(index)
Note: '.audioDemo'.pause is incorrect for checking audio is paused or not. Means you can't access audio Object
like this. If you want to do so use $('element').
添加了停止功能:
$('#stop').click(function(){
$(".audioDemo").trigger('pause'); //pause playing
$(".audioDemo").prop("currentTime",0); //set play time to 0
});
我已经查看了所有内容,但到目前为止还没有。我卡住了。
我有一个 html 音频元素,我想用 div 控制它。当我点击 div 时它播放音乐,但我需要的是当我再次点击它时停止播放但不知道如何。
这是音频标签。
<audio class="audioplayer" preload="none" style="display: none;" >
<source src="audio/ocean.mp3" type="audio/mpeg">
</audio>
这是jquery用div(#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 上。我试过那个 .paused 但它不起作用。
如何使用与播放和停止相同的 div?
谢谢
字符串没有 pause
属性,所以检查 '.audioDemo'.pause
不起作用。您需要检查普通 HTMLAudioElement
对象 pause
属性。
所以在 jQuery 的帮助下,你 select $(".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);
}
考虑以下代码:
$('#ocean').click(function () {
if ($(".audioDemo").get(0).paused == false) {
$(".audioDemo").trigger('pause');
} else {
$(".audioDemo").trigger('play');
}
});
选择索引元素时可以使用以下方法:
$("#element")[index]
$("#element").get(index)
$("#element").eq(index)
Note:
'.audioDemo'.pauseis incorrect for checking audio is paused or not. Means you can't access audio Object like this. If you want to do so use $('element').
添加了停止功能:
$('#stop').click(function(){
$(".audioDemo").trigger('pause'); //pause playing
$(".audioDemo").prop("currentTime",0); //set play time to 0
});