このコードでは、article
要素の上にマウスを置くと、オーディオクリップが再生されます。問題は、マウスが子要素にマウスを置いたときに停止することです。マウスが一般的なarticle
要素から子要素に移動したときにStopsound機能を実行しないようにするにはどうすればよいですか?マウスを特定の要素に移動するときにOnmouseoutを実行しないでください。
EDIT:基本的には、子要素のいずれかを切り替えると機能が実行されないようにします。 jQueryの.hover
機能を使用して
function PlaySound(soundobj) {
var thissound = document.getElementById(soundobj);
thissound.play();
}
function StopSound(soundobj) {
var thissound = document.getElementById(soundobj);
thissound.pause();
thissound.currentTime = 0;
}
* {
margin: 0;
padding: 0;
}
article24 {
width: 50px;
height: 100px;
background-color: green;
}
#box24 {
width: 50px;
height: 50px;
background-color: blue;
}
#present24 {
width: 50px;
height: 50px;
background-color: red;
}
#bauble24 {
width: 10px;
height: 10px;
}
<audio id='mySound' src="http://www.freesound.org/data/previews/278/278903_3546642-lq.mp3"></audio>
<article id="article24" onmouseover="PlaySound('mySound')" onmouseout="StopSound('mySound')">
<div id="box24">
<h2></h2>
</div>
<div id="present24">
<a href="">
<div id="bauble24">
<p id="belle24">""</p>
</div>
</a>
</div>
</article>
Brilliant!最も簡単な解決法が常にベストです。 – student42
これは大したことではありませんが、クリップの再生が終了した後にホバーするサブ要素を変更すると、新たに開始されます。あなたは同様に簡単な修正を知っていますか?あなたが頭の上に何かを持っていない場合は、それであなた自身を困らせないでください。 – student42