●スクリプト
<script type="text/javascript"><!--
function syori1(tgt){
if (document.getElementById){
tar=document.getElementById(tgt);
tar.style.display="";
}
}
function syori2(tgt){
if (document.getElementById){
tar=document.getElementById(tgt);
tar.style.display="none";
}
}
function syori3(tgt){// サブメニューからポインタが離れた時の処理
if (document.getElementById){
setTimeout('document.getElementById("' + tgt + '").style.display="none"',500); // 0.5秒後に隠す
}
}
function syori4(tgt){// サブメニューからポインタが離れた時の処理
if (document.getElementById){
setTimeout('document.getElementById("' + tgt + '").style.display=""',500); // 0.5秒後に表示させる
}
}
//--></script>
●HTML
<span onMouseover="syori1('tokyo')">処理1</span>
<span onMouseover="syori2('tokyo')">処理2</span>
<span onMouseover="syori3('tokyo')">処理3</span>
<span onMouseover="syori4('tokyo')">処理4</span>
<h1 id="tokyo" style="display: none;">東京</h1>
●解説
まず、初期状態では、東京の文字は表示されていない。
処理1 にマウスカーソルを乗せると、東京の文字が表示される。
その状態で、処理2 にマウスカーソルを乗せると、東京の文字が消える。
処理3も、東京の表示を消す処理だが、0.5秒後に消す、というように遅らせている。
処理1で表示させた状態から、処理2と処理3で、消え方を比較してみるとよい。
処理2はマウスカーソルを乗せた瞬間に消えるが、処理3は0.5秒後に消える。
なお、処理4は、0.5秒後に表示させる処理である。
以上のように、文字列の表示・非表示は、setTimeout を使っても実現できる。
サンプルソース
コメント
コメントを書く