マウスオーバーオーバーエフェクトに遅延を付けるには、setTimeoutがオプションの1つです。しかし、私が試してみると、関数は呼び出されません。setTimeout関数が呼び出されていませんか?
HTML:
<li><a href="#"
onmouseover="mopendelay('menu_proj')"
<li>
はJavaScript:
// open hidden layer
function mopen(id)
{
// cancel close timer
mcancelclosetime();
// close old layer
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
}
// delay menu open on mouseover
function mopendelay(id)
{
var delay = setTimeout(function(){
alert('delay'); // isn't called
mopen(id);
}, 200);
clearTimeout(delay);
}
OKです。すべての答えをありがとう。私はクリアタイムアウトを削除する場合は動作します。私はまた、適切な応答を得るためにデバッグアラート文を削除する必要があります。 – user823527