我需要鼠标悬停在事件上的声音,我有这种方式,但它的问题来自鼠标悬停和声音播放之间的延迟,这是由于(我猜)代码上的嵌入声音处理。我想知道是否有更好的方法使用js / jquery)。但不是新的html5音频标签,我不想在这种特殊情况下实现。
ajax调用加载文件,然后我将一个名为playSound()的函数附加到mouseOver
function playSound()
{
$setSound = document.getElementById("soundWrapper").innerHTML="<embed id='sound' src='href' type=audio/mpeg hidden=false autostart=true volume=12>";
}
然后在mouseOut事件中创建一个名为stopSound()的函数
function stopSound()
{
$stopSound = document.getElementById("soundWrapper").innerHTML="";
}
没什么特别的,但确实有效。所说的问题是播放声音的延迟。有没有办法播放/停止已经嵌入的声音,不只是每次都嵌入一个新的,或类似的东西?。
感谢您的时间和帮助。 问候。
答案 0 :(得分:1)
如果您将AJAX加载到所需位置的音频标签(http://www.w3schools.com/tags/tag_audio.asp),则可以使用JS中的.play()方法播放它。然后变得非常容易
$(YOURMOUSEOVERELEMENT).on('mouseover', function(){$('#sound').play()});
然后,如果你想在鼠标离开时停止音频:
$(YOURMOUSEOVERELEMENT).on('mouseout', function(){$('#sound').stop()});