|
リンクの補足説明窓を表示 |
| ハイパーリンクの上にマウスカーソルを持っていくと補足説明を表示するようにします。
|
| 難易度:★★★★☆☆☆☆☆☆ |
| はじめに JavaScriptとは、なんぞやという堅苦しい説明です。最初に読んでもサッパリと思いますが、とりあえず目を通してください。後になるとわかるようになります。 |
| STEP.1 いきなりJavaScriptを使ってみましょう いきなりJavaScriptをつかって、使用中のブラウザ名をホームページに表示します。ここをマスターすれば、後は楽勝です。 |
| STEP.2 あいさつ文を表示してみましょう ホームページの冒頭でよく見かける、時間によってかわるメッセージを表示します。 |
| STEP.3 現在の日付と時間を表示してみましょう JavaScriptを使えば、日付や時間、曜日も簡単に表示できます。 |
| STEP.4 関数化してHTMLソースリストを整理しましょう 長い SCRIPT や数ケ所に同じ SCRIPT を使う場合は関数化して HTMLソースリストをすっきりさせましょう。 |
【リスト】
<SCRIPT language="JavaScript"><!--
myBeforeID = ""; // 前回表示したコメントID
myOP = window.opera; // OP
myN6 = document.getElementById; // N6
myIE = document.all; // IE
myN4 = document.layers; // N4
if (myOP) myBR="N6"; // ブラウザは OP6以上
else if (myIE) myBR="I4"; // ブラウザは IE4以上
else if (myN6) myBR="N6"; // ブラウザは NS6以上
else if (myN4) myBR="N4"; // ブラウザは NN4
else myBR=""; // ブラウザは 分からん
function myBrowserObj(myID){ // 使用中のブラウザの取得
if (myBR=="N6") myRet=document.getElementById(myID).style;
else if (myBR=="I4") myRet=document.all[myID].style;
else if (myBR=="N4") myRet=document[myID];
else myRet=0;
return myRet;
}
function myIn(myID){ // マウスが乗った
if (myBeforeID != ""){ // コメント表示中?
myObj.visibility = "hidden"; // 前回のコメントを非表示
}
myBeforeID = myID; // 今回表示するIDを退避
myObj = myBrowserObj(myID); // 使用中のブラウザオブジェクト
if(myObj){ // ブラウザ対応?
myObj.visibility = "visible"; // 新しいコメントを表示
}
}
// --></SCRIPT>
<a href="hajimeni.htm" onmouseover="myIn('step0')">
はじめに<br></a>
<a href="step1.htm" onmouseover="myIn('step1')">
Step.1<br></a>
<a href="aisatu.htm" onmouseover="myIn('step2')">
Step.2<br></a>
<a href="getdate.htm" onmouseover="myIn('step3')">
Step.3<br></a>
<a href="function.htm" onmouseover="myIn('step4')">
Step.4<br></a>
<div id="step0" style="position:absolute; left:150px;
top:280px; width:300px; height:100px; z-index:1; visibility:hidden">
<table border="1" cellpadding="6" cellspacing="0" width="300">
<tr><td bgcolor="#008b8b"><font color="#FFFFFF">
はじめに<br>
JavaScriptとは、なんぞやという堅苦しい説明です。最初に読んでも
サッパリと思いますが、とりあえず目を通してください。後になると
わかるようになります。<br>
</font></td></tr></table></div>
<div id="step1" style="position:absolute; left:150px;
top:280px; width:300px; height:100px; z-index:1; visibility:hidden">
<table border="1" cellpadding="6" cellspacing="0" width="300">
<tr><td bgcolor="#008b8b"><font color="#FFFFFF">
STEP.1<br>いきなりJavaScriptを使ってみましょう<br>
いきなりJavaScriptをつかって、使用中のブラウザ名をホームページ
に表示します。ここをマスターすれば、後は楽勝です。<br>
</font></td></tr></table></div>
<div id="step2" style="position:absolute; left:150px;
top:280px; width:300px; height:100px; z-index:1; visibility:hidden">
<table border="1" cellpadding="6" cellspacing="0" width="300">
<tr><td bgcolor="#008b8b"><font color="#FFFFFF">
STEP.2<br>あいさつ文を表示してみましょう<br>
ホームページの冒頭でよく見かける、時間によってかわるメッセージ
を表示します。<br>
</font></td></tr></table></div>
<div id="step3" style="position:absolute; left:150px;
top:280px; width:300px; height:100px; z-index:1; visibility:hidden">
<table border="1" cellpadding="6" cellspacing="0" width="300">
<tr><td bgcolor="#008b8b"><font color="#FFFFFF">
STEP.3<br>現在の日付と時間を表示してみましょう<br>
JavaScriptを使えば、日付や時間、曜日も簡単に表示できます。<br>
</font></td></tr></table></div>
<div id="step4" style="position:absolute; left:150px;
top:280px; width:300px; height:100px; z-index:1; visibility:hidden">
<table border="1" cellpadding="6" cellspacing="0" width="300">
<tr><td bgcolor="#008b8b"><font color="#FFFFFF">
STEP.4<br>関数化してHTMLソースリストを整理しましょう<br>
長い SCRIPT や数ケ所に同じ SCRIPT を使う場合は関数化して
HTMLソースリストをすっきりさせましょう。<br>
</font></td></tr></table></div>
|
| 【説明】 Step.88 では、ハイパーリンクにマウスが乗ればコメントを表示して、離れればコメントを消すようにしていました。 今回のサンプルは、マウスが離れても、コメントは消さないパターンです。別のハイパーリンク上にマウスが来るまで、過去の表示したコメントが残されます。 では、前回のStep.88をどう、改造したらいいでしょう。 おそらく、思ったとおりです。マウスが離れた場合の処理を取り除けば、いいのです。 Aタグから onmouseout="return myOut('stepX')" は必要なくなります。 ということは、myOut( )関数自体も必要なくなりました。 myIn( )関数からは "visible"、myOut( )関数からは "hidden" を myDisp( )関数にパラメータとして受け渡して処理をしていました。今回、myOut( )関数がなくなったので、myDisp( )関数は myIn( )関数からしか呼ばれません。ということは、myIn( )が、myDisp( )を呼ぶのも無意味なので、myDisp( )関数そのものを myIn( )関数にして整理しました。 myOut( )関数が無くなったということは、非表示にするというルーチンが無くなりました。いつ、非表示にするか? お察しの通り、新しいコメントを表示する直前に非表示にします。 myID変数には、新しく表示するコメントのIDに変わってしまっています。前回のIDが分からないと、非表示にしようがないので、myBeforeID変数を用意して覚えさせておきました。 参考ステップ Step.88 リンク先の補足説明窓を表示してみましょう |