多个声音在不同的鼠标悬停
multiple sounds on different mouseovers
我发现有不同声音的多个鼠标鼠标有问题。
问题:当我做一个鼠标在Rockbutton上,它会播放歌曲的Popaudio。是否有更好的方法或简单的解决方案?很多谢谢!
// Muziekje Rock --------------------------------------------------Muziekje rock
document.getElementById("RockButton").onmouseout = function() {mouseOut()};
function mouseOver() {
document.getElementById('RockDanceAudio').play();
}
function mouseOut() {
document.getElementById('RockDanceAudio').pause();
}
document.getElementById("PopButton").onmouseout = function() {mouseOut()};
function mouseOver() {
document.getElementById('PopAudio').play();
}
function mouseOut() {
document.getElementById('PopAudio').pause();
}
<!-- Pagina3 Tatjana PaginaDrieTatjana-->
<div id="PaginaDrieTatjana" style="display:none;">
<h1>Kies soort dans</h1>
<div id="Rock">
<h3>Rock Dance</h3>
<img src="Tatjana/Een.jpg" style="width: 100%;">
<div id="RockButton">
<p>Kiezen</p>
<audio id="RockDanceAudio" src="rock_audio.mp3"></audio>
</div>
</div >
<div id="Pop">
<h3>Pop Dance</h3>
<img src="Tatjana/Twee.jpg" style="width: 100%;">
<div id="PopButton">
<p>Kiezen</p>
<audio id="PopAudio" src="pop_audio.mp3"></audio>
</div>
你正在重写mouseOut和mouseOver函数,试试这个:
var rockButton = document.getElementById("RockButton");
rockButton.onmouseout = function() {
document.getElementById('RockDanceAudio').pause();
};
rockButton.onmouseover = function() {
document.getElementById('RockDanceAudio').play();
};
var popButton = document.getElementById("PopButton");
popButton.onmouseout = function() {
document.getElementById('PopAudio').pause();
};
popButton.onmouseover = function() {
document.getElementById('PopAudio').play();
};
你重写了你的初始mouseOut()函数后重新定义它播放PopAudio。
这意味着当mouseout事件发生时,只播放后者。
这是因为函数只在事件实际发生时才求值。
为防止这种情况,请为函数使用不同的名称:
document.getElementById("RockButton").onmouseout = function() {mouseOutRock()};
function mouseOutRock() {
document.getElementById('RockDanceAudio').pause();
}
document.getElementById("PopButton").onmouseout = function() {mouseOutPop()};
function mouseOutPop() {
document.getElementById('PopAudio').pause();
}
甚至更好地使用匿名函数:
document.getElementById("RockButton").onmouseout = function() {
document.getElementById('RockDanceAudio').pause();
}
document.getElementById("PopButton").onmouseout = function() {
document.getElementById('PopAudio').pause();
}
相关文章:
- 当鼠标悬停在文本中的单词上时显示警报
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 在鼠标悬停时展开列表
- jQuery悬停在没有鼠标悬停的情况下启动
- 鼠标悬停时如何居中放大背景图像
- 使用鼠标悬停JavaScript/HTML显示文本
- 如何在MVC3中显示鼠标悬停在文本上的部分视图
- d3.js鼠标悬停鼠标输出问题
- 如何在鼠标悬停时将对象从起始位置移动到结束位置,然后在鼠标悬停后再次移动
- 鼠标悬停时播放随机轨迹
- 鼠标悬停时的css转换
- 将鼠标悬停在同级元素上的 jquery 上轻拂
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- aspx中鼠标悬停时横向扩展DIV
- ajax鼠标悬停和鼠标悬停脚本
- 在鼠标悬停处隐藏图像
- 如何停止地图移动时,鼠标悬停在标记在谷歌地图API 3
- 通过鼠标悬停向上或向下滑动的图片
- 鼠标悬停时更改按钮的 CSS