上記のウェブサイトを開いてもらうと、右上に「About This Site」というリンクがあります。
これをクリックすると、画面遷移することなく、左側にテキストが表示されます。シンプルで便利です。
これはどうやっているのでしょう?
<a target="_self" href="JavaScript:showDiv('eyepop');" onMouseOver="window.status='Open Popup';return true;" onMouseOut="window.status='';return true;"> About This Site</a>
で、クリックすると、
showDiv('eyepop')
が、呼ばれます。この関数は、
<script language="JavaScript" type="text/javascript" src="jscripts/showhide.js"></script>
に、あります。
<!-- ns4 = (document.layers)? true:false; ie4 = (document.all)? true:false; dom = (document.getElementById)? true:false; function showDiv(id) { if (ns4) document.layers[id].visibility = "show" else if (ie4) document.all[id].style.visibility = "visible" else if (dom) document.getElementById(id).style.visibility = "visible" } function hideDiv(id) { if (ns4) document.layers[id].visibility = "hide" else if (ie4) document.all[id].style.visibility = "hidden" else if (dom) document.getElementById(id).style.visibility = "hidden" } // -->
これで、
<div id="eyepop">
の、部分を表示をvisibleに変更しています。
JavaScriptを使用しています。
領域のスタイルのvisibilityプロパティを変更して、
見えない状態から見える状態に変化させています。
http://msugai.fc2web.com/web/CSS/visual.html
このページの場合、
showhide.jsというJavaScriptを記述した外部ファイルを呼び出しています。
「About This Site」の「href="javascript:showDiv('eyepop');"」
でshowhide.js内のshowDiv関数を呼び出しています。
showDiv関数では
document.getElementById(id).style.visibility = "visible"
という処理で、指定された領域の表示をvisible=可視化しています。
クリックして表示された部分div id="eyepop"のvisibleはCSSで
#eyepop { visibility: hidden; }
として、最初は非表示に設定されています。
なるほどー。
画面遷移しないとわかりやすくていいですよね。
ありがとうございます。
なるほど、JavascriptとCSSなんですね。
ありがとうございます。