自作するのがしんどいので質問です。
IE,firefox,Opera にて稼動するジャストなご回答をいただいた場合、500point+いるかにて御礼させていただきます。よろしくお願いいたします。
----
【お願いしたいこと】
・<script type="text/javascript" src="hogejs.js"></script>←のような感じでHTMLファイルから呼び出したいです。
・設置&チェック時の注意点などがあればお知らせ下さい
・現在の年月日と別ファイルに用意したデータを参照し、下記の文章をwrite(★~★は変数)(☆曜日は月日から算出)
★月1★/★日1★(☆曜日)★txt1★(任意文字列)★月2★/★日2★(☆曜日:★月1★=12月かつ★月2★=1月の場合、年越しさせてください)
実際の出力例)
04/24(金) AM9:00(任意文字列)04/28(火)
※1~9月・1~9日の頭の0は必要
----
残りはコメントに記述します。。。。
・jQueryを使っています。(入手先 http://jquery.com/)
・このスクリプトはid="result"のリストに <li>結果</li> を書き足します。
(スクリプト後半の'<li>'や'</li>'の部分を変えればリスト以外の場所に書き出す事もできます)
・データの最初の二つ、現在の月,現在の日 は何かわからなかったので使っていません。
(データファイル上はあるものとして処理してます。参照してないだけ。)
・データに「年」の必要性を感じたので、現在の日と月1の間に年を書く事にしています。
・時刻は24h制のようでしたので、AM/PMは都合もあってスクリプト内で自動で付けることにしました。
--- HTML(head内) --- <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="example.js"></script> --- HTML(body内) --- <ul id="result"></ul> --- examle.js --- $(function(){ var J = { filename : 'example.txt', text : '任意文字列', resultElement:'#result', data : new Array() }; jQuery.get( J.filename ,{}, function(textdata){ jQuery.each(textdata.split('\n'), function(i,val){ val=val.replace(/\s+/,''); var getYobi = function(w){return(['日','月','火','水','木','金','土'][w])}; J.data[i] = val.split(','); if(J.data[i].length < 2)return; var tD = new Date(J.data[i][2]+'/'+J.data[i][3]+'/'+J.data[i][4]); J.data[i].push(getYobi(tD.getDay())); tD = new Date(((J.data[i][3]==12 &&J.data[i][6]==1)?parseInt(J.data[i][2])+1:J.data[i][2]) + '/'+J.data[i][6]+'/'+J.data[i][7]); J.data[i].push(getYobi(tD.getDay())); jQuery.each(['3','4','6','7'], function(x,val){ if(J.data[i][val] < 10) J.data[i][val] = '0'+J.data[i][val]; } ); var tT = J.data[i][5].split(':')[0]; J.data[i][5] = ((tT < 12)?'AM':'PM') + ((tT<10)?'0':'') + J.data[i][5]; $(J.resultElement).append( '<li>'+ J.data[i][3]+'/'+ J.data[i][4]+'('+J.data[i][8]+') '+ J.data[i][5]+'('+J.text+')'+ J.data[i][6]+'/'+ J.data[i][7]+'('+J.data[i][9]+')'+ '</li>' ); } ); } ); }); --- examle.txt(テストしたデータ) --- 4,20,2009,4,24,9:00,4,28 4,22,2009,4,29,9:00,4,30 4,24,2009,4,29,9:00,5,1 4,25,2009,4,29,18:00,5,1 4,27,2009,5,6,9:00,5,8 4,26,2009,12,6,9:00,1,8 --- 結果(実行後のHTML) --- <ul id="result"> <li>04/24(金) AM09:00(任意文字列)04/28(火)</li> <li>04/29(水) AM09:00(任意文字列)04/30(木)</li> <li>04/29(水) AM09:00(任意文字列)05/01(金)</li> <li>04/29(水) PM18:00(任意文字列)05/01(金)</li> <li>05/06(水) AM09:00(任意文字列)05/08(金)</li> <li>12/06(日) AM09:00(任意文字列)01/08(金)</li> </ul>
何か不都合とかあれば後はコメントの方で。
調整いただきありがとうございます。
PC時計を色々ずらしたり、サーバー上に置いて閲覧してみたりして、動作をおおむね確認し、だいたい大丈夫そうです(タブでインデントしようとして、どことどこのカッコがくっついてるのか真剣に悩むレベルなので本当に助かります)