セレクトメニューで選択された表を表示する(定期的に監視)


動作ブラウザ 【 IE:4.0  NN:-
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × × × × - × -
Macintosh × - × × × × × - - ×
UNIX - - - - - × × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント function checkTable() { n = document.tblForm.tblSel.selectedIndex + 1; if (n == oldNo) return; for (i=1; i<=3; i++) document.all["tbl"+i].style.visibility = "hidden"; document.all["tbl"+n].style.visibility = "visible"; } <body onLoad="setInterval('checkTable()',500)">
説  明 定期的に監視してセレクトメニューの番号に応じて表示する表を変えるには表にid属性で名前を指定、スタイルシートでvisibilityを指定しておきます。bodyタグのonLoadイベントが発生したらsetIntervalを使って定期的にセレクトメニュー番号をチェックする関数を呼び出します。チェックする関数では以前と同じ選択番号かどうか調べて同じであれば何もしないようにreturnを使って関数から抜けます。異なる番号の場合は、選択された番号に応じて表のスタイルプロパティであるvisibilityに"visible"を入れれば選択された番号の表が表示されます。
サンプル <html> <head> <title>セレクトメニューで選択された表を表示する(定期的に監視)</title> <style type="text/css"><!-- .tbl { position:absolute;top:80px;visibility:hidden;border:4px blue dashed; } --></style> <script Language="JavaScript"><!-- oldNo = -1; function checkTable() { n = document.tblForm.tblSel.selectedIndex + 1; if (n == oldNo) return; for (i=1; i<=3; i++) document.all["tbl"+i].style.visibility = "hidden"; document.all["tbl"+n].style.visibility = "visible"; } // --></script> </head> <body onLoad="setInterval('checkTable()',500)"> <form name="tblForm"> <select name="tblSel"> <option>表1 <option>表2 <option>表3 </select> </form> <table id="tbl1" class="tbl"><tr><th>表1</th></tr></table> <table id="tbl2" class="tbl"><tr><th>表2</th></tr></table> <table id="tbl3" class="tbl"><tr><th>表3</th></tr></table> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA