D13 写真をクリックすると説明のサブウィンドウが開く

写真をクリックすると説明ためのサブウインドウが開きます。NN3.0~なら、サブウインドウが他のウインドウの陰に隠れないようにfocus()して手前にくるようにしてあります。サブウインドウ内にクローズボタンも付いてます。

応用 : サブウインドウの中にHTMLが記述できますから、ページを作るようにしてサブウインドウを記述してみましょう。
参照 : function, 変数, window.open, document.write(), document.close(), focus(), onClick,

Sample

写真をクリックすると説明ウインドウが開きます

Source
ソース
(コピーしてお使いください)
<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
| CONTENTS
| PART1 これだけ知っていれば大丈夫
| PART2 サンプルの紹介
| PART3 JavaScript言語仕様
| PART4 JavaScriptクイック書式一覧
| PART5 JavaScriptサイト
| オンラインサポートページ(回線をつないでください)


Maintained by
tato@fureai.or.jp works1997 Toshirou Takahashi