我使用以下脚本在有人悬停在 div 上时播放声音。
$(document).ready(function(){
var birdaudio = birdhover.find('audio')[0];
$('.sound').mouseenter(function(){ birdaudio.play(); });
$('.sound').mouseleave(function(){ birdaudio.stop(); });
});
它确实有效,但音频会继续播放直到声音结束,即使不再悬停也是如此。我可以做些什么来防止这种情况发生吗?我不希望每当您“鼠标离开”div 时音频就会停止。
希望得到帮助!
最佳答案
HTML5 媒体元素没有 .stop()
。您必须改为对该元素调用 pause()
。
为了完全复制停止的功能(停止音频并将其播放位置设置为最开始),您可以在 pause()
调用之后使用 birdaudio .currentTime = 0
.
关于jQuery:在 mouseleave 上停止音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740087/