<form name="myForm"> <select name="sbox01"> <option value="1">1月</option> <option value="2">2月</option> <option value="3">3月</option> <option value="4">4月</option> <option value="5">5月</option> <option value="6">6月</option> <option value="7">7月</option> <option value="8">8月</option> <option value="9">9月</option> <option value="10">10月</option> <option value="11">11月</option> <option value="12">12月</option> </select> <select name="sbox02"> <option value="1">1日</option> <option value="2">2日</option> <option value="3">3日</option> <option value="4">4日</option> <option value="5">5日</option> <option value="6">6日</option> <option value="7">7日</option> <option value="8">8日</option> <option value="9">9日</option> ・ ・ <option value="28">28日</option> <option value="29">29日</option> <option value="30">30日</option> </select> <input type="button" value="この日を見る" onclick="open_event_cal(this.form.sbox01.value, this.form.sbox02.value);" /> </form>
function open_event_cal(monthA,dayB){ honjitu = dayB; kongetu = monthA; if(kongetu==1){ win = new Window("win01",{url:"event/event1.htm?" + kongetu + "&" + honjitu ,width:400,height:450, showEffect:Effect.BlindDown,hideEffect:Effect.BlindUp}); win.showCenter(); } else if(kongetu==2){ win = new Window("win02",{url:"event/event2.htm?"+ kongetu+"&"+ honjitu,width:400,height:450, showEffect:Effect.BlindDown,hideEffect:Effect.BlindUp}); win.showCenter(); } ・ ・ ・ ・ ・ else if(kongetu==10){ win = new Window("win10",{url:"event/event10.htm?"+ kongetu+"&"+ honjitu,width:400,height:450, showEffect:Effect.BlindDown,hideEffect:Effect.BlindUp}); win.showCenter(); } else if(kongetu==11){ win = new Window("win11",{url:"event/event11.htm?"+ kongetu+"&"+ honjitu,width:400,height:450, showEffect:Effect.BlindDown,hideEffect:Effect.BlindUp}); win.showCenter(); } else if(kongetu==12){ win = new Window("win12",{url:"event/event12.htm?"+ kongetu+"&"+ honjitu,width:400,height:450, showEffect:Effect.BlindDown,hideEffect:Effect.BlindUp}); win.showCenter(); } win.setDestroyOnClose(); }
var date_data = location.href.split("?")[1]; var data1=date_data.split("&"); var month = data1[0]; var day = data1[1]; day_evnt = new Array(32) day_evnt[1] = "●元旦●昭和天皇人間宣言(1946)●少年法施行の日(1948)●国産アニメ第1号「鉄腕アトム」放送開始(1963)大化改新の詔発布(646)●豊臣秀吉生(1536)"; day_evnt[2] = "●初夢●初売●初荷●書き初め●月ロケットの日●道元生(1200)●上野公園にライオンがくる(1902)"; day_evnt[3] = "●飛鳥遷都(655)●ジョン万次郎帰国の日(1851)●ひとみの日●カンボジア・ベトナム国境紛争(1978)●ヒラリー南極点に到達(1958)●アラスカがアメリカ合州国49番目の州となる(1959)●ツタンカーメンの墓発見(1922)●天智天皇即位(668)"; day_evnt[4] = "●官庁御用始め●ニュートン生(1643)●石の日●ソ連がアフガニスタン介入(1980)●名古屋城天守閣の金の鯱の鱗58枚盗まれる(1937)●シュレーディンガー(ドイツ物理学者)没(1961)"; day_evnt[5] = "●夏目漱石生(1867)●囲碁の日●イチゴの日●豊臣秀吉が朝鮮出兵を命ずる(1592)"; day_evnt[6] = "●消防庁出初め式●良寛没(1831)●色の日●ジャンヌ・ダルク(フランス英雄少女)生(1412)"; day_evnt[7] = "●春の七草●昭和天皇死去(1989)●爪切りの日●1000円札(聖徳太子)発行(1950)●岡本太郎(画家)没(1996)"; day_evnt[8] = "●平成に改元(1989)●ガリレイ没(1642)●勝負事の日●徳川綱吉生(1646)●プレスリー生(1935)●周恩来没(1976)"; day_evnt[9] = "●明治天皇即位(1867)●とんちの日●マラソンの円谷幸吉自殺(1968)●ナポレオン3世没(1873)●宇野重吉(俳優)没(1988)"; day_evnt[10] = "●十日えびす●世界初の地下鉄ロンドンを走る(1863)●110番の日●国際連盟発足(1920)●江戸で大火(1794)●徳川綱吉没(1709)●大隈重信(政治家)没(1922)"; day_evnt[11] = "●鏡開き●蔵開き●東京に初めてのスモッグ警報(1965)●マホメットがメッカに無血入城(630)●伊能忠敬(測量学者)生(1745)"; ・ ・ ・ ・ ・ day_evnt[27] = "●日の丸制定(1870)●青函トンネル貫通(1983)●モーツァルト(オーストリア作曲家)生(1756)"; day_evnt[28] = "●ドストエフスキー(ロシア作家)没(1881)●コピーライターの日●スペースシャトル「チャレンジャー」打ち上げ失敗(1986)●スペイン革命(1930)●日本社会党結成(1906)●クリミア戦争起こる(1854)●生類憐れみの令出る(1687)●スタンリー(イギリス探検家)生(1841)●カール1世(西ローマ皇帝)没(814)"; day_evnt[29] = "●チェーホフ(ロシア作家)生(1860)●人口調査記念日●パンダのホアンホアン上野動物園に(1980)●"; day_evnt[30] = "●一年で日中の気温が最も低くなる平均日●マハトマガンジー射殺(1948)●ヒトラーがドイツの首相に就任(1933)●日英同盟締結(1902)●チャールズ1世処刑(1649)●シューベルト(オーストリア作曲家)生(1797)●勝海舟(政治家)生(1823)●河上肇(マルクス経済学者)没(1946)"; day_evnt[31] = "●マケドニアのアレクサンドロス大王没(B.C.323)●中共軍が北京に正式入城(1949)●シューベルト(オーストリア作曲家)生(1797)●ライト弟(アメリカ発明家)没(1948)"; document.write("<center> ",month,"月", day,"日は</center>") document.write(day_evnt[day]); document.write("の日です。");
おわび(トップページの今日の出来事はこの間のリニューアルで無くしました)。まあ、備忘録ということでそのまま載せておきます。それではまずトップページの「今日の出来事」の部分です。ここで、リストから月と日を選べるようにしました。そして、選んだもの(this.form.sbox01.value,this.form.sbox02.value)を引数にして、関数open_event_cal()関数を呼び出します。ここで、this.form.sbox01.valueは、このフォームのsbox01の値という意味で、1月を選んだら1という値が入り、次のthis.form.sbox02.valueはこのフォームのsbox02の値で、20日を選んだら20という値が入ります。
次に、open_event_cal()関数です。function open_event_cal(monthA,dayB)のように、引数付きの関数です。それぞれ、monthAには、this.form.sbox01.valueの値(この場合は1が)、dayBにはthis.form.sbox02.valueの値(この場合は20が)が入ります。そして、その値を変数honjituとkongetuに代入しています。そして、kongetuの値によって条件分けをして、prototype windowを呼び出します。このときに、window内に呼び出すhtmlファイルの指定をします。これが(url:"event/event1.htm?"+ kongetu+"&"+ honjitu)の部分です。ここでは、event1.htmファイルを呼び出していますが、その後に「?」をつけて、変数kongetuと変数honjituを&でつないで呼び出しています。先ほどのフォームで選んだものでは結局 event/event1.htm?1&20というurlで呼び出していることになります。
次に呼び出されたevent01.htm内のjavascriptです。var date_data = location.href.split("?")[1];では、event01.htmのurlがlocation.hrefで呼び出されます。この場合、引数付きで呼び出されますので、event1.htm?1&20という文字列になります。そして、これをsplit関数で分けます。ここでは、split("?")とあるので、?で分けられていきます。ここでは、location.href.split("?")[1]とあるので、配列の2番目の要素(つまり1&20)が得られます。この値を変数date_dataに格納します。ちなみにlocation.href.split("?")[0]だと、event01.htmが得られます。次にdate_data変数(1&20が入っている)を再びsplit関数で分けます。ここでは、split("&")とあるので、&で分けます。var data1=date_data.split("&");で、分けたデータを配列の形で変数data1に格納しています。ここで、data1[0]には1が、data1[1]には20が格納されていますので、それぞれを変数monthと変数dayに代入します。そして、配列evnt_dayに入っているデータを変数dayの値を添え字として、呼び出して行きます。