在 Div 悬停时暂停音频
Pausing audio on Div hover
我设法让音频在悬停时播放,但当我的鼠标离开该区域时,我无法让它暂停。
小提琴:https://jsfiddle.net/jzhang172/nLm9bxnw/1/
$(document).ready(function(){
var audio = $("#audio-1")[0];
$(".box").hover
(function() {
audio.play();
},
(function(){
audio.stop();
});
});
.box{
height:500px;
width:500px;
display:flex;
justify-content:center;
align-items:center;
font-size:25px;
color:white;
background:black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<audio controls id="audio-1">
<source src="http://www.stephaniequinn.com/Music/Allegro%20from%20Duet%20in%20C%20Major.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<div class="box">
If you Hover me, the song will play!
</div>
您需要
使用audio.pause()
而不是.stop()
。例如:
$(document).ready(function(){
var audio = $("#audio-1")[0];
$('.box').on({
mouseenter: function() {
audio.play();
},
mouseleave: function() {
audio.pause();
}
});
});
这将从停止的地方恢复。如果要从头开始,正如其他答案之一所建议的那样,您需要在start
之前或pause
调用之后包含audio.currentTime = 0;
。
JSFiddle: https://jsfiddle.net/nLm9bxnw/7/
stop
实际上不是用于音频和视频文件操作的javascript方法。而是使用以下方法之一:
audio.pause();
audio.currentTime = 0;
查看此线程
$(document).ready(function(){
var audio = $("#audio-1")[0];
$(".box").hover
(function() {audio.play();});
});
https://jsfiddle.net/Cuchu/Ln8q8739/
相关文章:
- 如何检测我的音频流是:正在播放、暂停还是已完成
- 带有音频标签的多个播放/暂停按钮
- 单击时暂停音频并更改按钮的图像
- 在嵌入标签中开始/暂停音频?(IE8+)
- 创建一个只有播放和暂停的Javascript音频播放列表
- 暂停和取消暂停功能中的音频
- <音频>播放/暂停按钮更改
- 使用HTML5和JavaScript播放/暂停音频按钮
- 使用 HTML5 和 JavaScript 播放/暂停音频按钮
- 在 Div 悬停时暂停音频
- 音轨 JS 功能无法播放或暂停音频
- Javascript禁止点击/暂停音频的暂停按钮
- 使用javascript命令播放/暂停音频文件
- 播放或暂停音频时切换图标
- 如果使用Knockout注册了暂停事件,为什么无法暂停音频
- Youtube JavaScript API -暂停音频时,无论是Youtube视频播放
- 使用JavaScript播放或暂停音频文件(onkeydown)
- 通过获取.attr,使用JavaScript / jquery播放/暂停音频文件
- JavaScript播放/暂停音频按钮,更改类并创建自动循环
- 播放和暂停音频onclick由js库