写真をクリックすると説明ためのサブウインドウが開きます。NN3.0~なら、サブウインドウが他のウインドウの陰に隠れないようにfocus()して手前にくるようにしてあります。サブウインドウ内にクローズボタンも付いてます。
応用 : サブウインドウの中にHTMLが記述できますから、ページを作るようにしてサブウインドウを記述してみましょう。
参照 : function, 変数, window.open, document.write(), document.close(), focus(), onClick,
写真をクリックすると説明ウインドウが開きます
<html> <head><meta http-equiv="Content-Type" content="text/html;charset=x-sjis"> <title></title> <script language="JavaScript"> <!-- if(navigator.appVersion.charAt(0)>=3){window.onerror=null}; function winOpen(MSG1,MSG2,W,H){ //サブウインドウオープン var win13=window.open('',(W+'')+(H+''),'scrollbars=1,width='+W+',height='+H+''); //ここの括弧の中にサブウインドウ内のHTMLを記述します。 var winhtml = '<html>' winhtml += '<body bgcolor="#B8860B">' winhtml += ' <center>' winhtml += ' <table border="12" width=48%><tr><td>' winhtml += ' </td></tr></table>' winhtml += ' <font size=5 face="Osaka,MS Pゴシック">' winhtml += MSG1 winhtml += ' </font>' winhtml += ' <br>' winhtml += ' <font size=4 face="Osaka,MS Pゴシック">' winhtml += ' <b>' winhtml += MSG2 winhtml += ' </B>' winhtml += ' </font>' winhtml += ' <hr>' winhtml += ' <form>' winhtml += ' <input type="button" value=" Close " onClick="self.close()">' winhtml += ' </form>' winhtml += ' </center>' winhtml += ' </body>' winhtml += ' </html>' win13.document.write(winhtml) win13.document.close() //NN3.0~ならサブウィンドウにフォーカス(手前に)する。 if(navigator.appVersion.charAt(0)>=3){win13.focus()} } //--> </script> </head> <body> <a href="javascript:function voi(){};voi()" onClick=" msg1='万燈会[8/15]'; msg2='万燈会は毎年8月15日に催される牛久大仏最大の行事です。ライトアップと花火が圧巻で、数万の参詣客で賑わいます。'; winOpen(msg1,msg2,330,180)" > <img src="MAN11.GIF" border="0"></a> <br> 写真をクリックすると説明ウインドウが開きます </body> </html>
window.openに関する説明はwindow.openをご覧くださいfunction winOpen(MSG1,MSG2,W,H)で、MSG1,MSG2,W,Hの4つの変数を受け取る事のできるwinOpen()という名前の関数を作ります
var winhtml = '<html>'で、変数winhtmlへ'<html>'という文字列を格納します。そして引き続きwinhtml += '<body bgcolor="#B8860B">'と書くことで変数winhtmlの中へ追加されて、winhtmlは'<html><body bgcolor="#B8860B">'を意味するようになります
win13.document.write('xxx')はサブウインドウwin13に'xxx'を書き出す(document.writeする)という意味で、この場合は変数winhtmlの中の文字列を書き出すという意味になります
その次のwin13.document.close()はサブウインドウwin13に'xxx'を書き出すのをやめる(document.closeする)という意味です
onClick="命令文"でクリックしたら"命令文"を実行するという意味です
| CONTENTS
| PART1 これだけ知っていれば大丈夫
| PART2 サンプルの紹介
| PART3 JavaScript言語仕様
| PART4 JavaScriptクイック書式一覧
| PART5 JavaScriptサイト
| オンラインサポートページ(回線をつないでください)