このページは siteCTS の旧版です。
URI確保のために保存してあるだけで、二度と更新されません。
JavaScript が有効の時は以下に移動先URIが表示されます。
そして、記事にあるリンクのひとつひとつを手作業で修正しながら、「最後」がどうとかつぶやいてる俺がここに。 |
そこまではHTMLだけでできますね。でも、俺がやろうとしてるのは「これらすべての機能をひとつのファイルでやる」ことなのであります。 |
※後日付記:
すぐ下の8.13に初期型のサンプルページと
現行型のスクリプトファイルがアップされてます。
興味のある人はどうぞ。
|
ページをリロードしないので、コメントがそのまま。一回本文に書き出した文字は、基本的に変えられないのです。 |
※後日付記:さて。
この初期型バージョンをアップしてみました。
なるへそ! |
※後日付記:時に、先生の話によるとJavaScriptでは location.reload(); はあんま使わない方がいいらしいですね。理由はよくわかんないけど。
スクリプトのソースファイル"scg.js"をアップしてみました。
これから後に各種バグフィックスをやった「ほぼ完成バージョン」です。わかる人はどうぞ。
(文字化けしたら右クリック→エンコードの日本語自動選択でもってGo)
ボタンを押した時の動作部分 "moveBtn( )" と "dblLnk( )" なんかは、阿呆みたいに簡潔化できたよ…
ちなみにHTMLのソースファイル(imgsrc.htm)はこちら。
<FORM name="ak"> <INPUT name="akiko" value="SUM" size="31"> </FORM> <A href="http://www1.gateway.ne.jp/~awa/" onMouseOut="ak.akiko.value='SUM'" onMouseOver="ak.akiko.value='俺好みの絵と連日更新の絵日記'"> <IMG src="bana_hosi.jpg" border="0"> </A> </FORM> |
<FORM name="chaform"> <INPUT value="SUM" size="31" readonly><BR> <A href="#" onClick="jump()" onMouseOver="over(0,'俺好みの絵と連日更新の絵日記','http://www1.gateway.ne.jp/~awa/')" onMouseOut="out()"> <IMG src="bnr/bana_hosi.jpg" border="0"> </A> <INPUT type="checkbox"> </FORM> |
フラグの初期化 loadFlag = 0; 配列定義前のonMouseOutで起こる未定義エラーを回避 chkFlag = 0; 「全部チェック」ボタンを押すたびに0と1を切替 function htmlLoadComp() { msg = new Array(); arrayNo = 0; for (i = 0; i < document.chaform.length; i++) { if (document.chaform.elements[i].type == "text") { msg[arrayNo] = document.chaform.elements[i].value; arrayNo = arrayNo +1; } } loadFlag = 1; } テキストボックスに入ってる文字列(value)を片っ端からmsg配列に入れる HTMLを読み終えた時点で一回だけ実行、終わったらフラグを立てる フラグが立つまでは他の全関数が動かない function over(arrayNum,cngMsg,URL) { if (loadFlag == 0) return; url = URL; arrayNo = arrayNum; elmtNo = arrayNum; for (i = 0; i < arrayNum; i++) { elmtNo = elmtNo +1; } document.chaform.elements[elmtNo].value = cngMsg; } 核の部分 マウスがバナーに乗ったら、どのバナーに乗ったのか調べて、上の テキストボックスを引数で渡されたメッセージ(cngMsg)に書き換える ついでに引数情報をout()へ、URL情報をjump()に渡す function out() { if (loadFlag == 0) return; document.chaform.elements[elmtNo].value = msg[arrayNo]; } "over" から渡された引数情報を元に、書き換えられた メッセージをmsg配列から探して元に戻す function jump() { if (document.chaform.elements[elmtNo+1].checked == true) { open(url); return; } location.href = url; } バナーが押されたら、隣にあるチェックボックスを見て新しいウィンドウか 同じウィンドウかを選び、"over" から渡されたURLへ飛ばす 「全部チェック」ボタンの動作スクリプト function allCheck(chkbox) { if (loadFlag == 0) {alert("まだHTMLを読み終わってないので数秒待ってね"); return} if (chkFlag == 0) { for (i = 0; i < document.chaform.length; i++) { if (document.chaform.elements[i].type == "checkbox") document.chaform.elements[i].checked = true; } chkbox.value = "ぜんぶはずす!"; chkFlag = 1; } フラグが立ってなかったら、チェックボックスを探して全部チェックし、 ボタンの文字列を書き換えてフラグを立てる else if (chkFlag == 1) { for (i = 0; i < document.chaform.length; i++) { if (document.chaform.elements[i].type == "checkbox") document.chaform.elements[i].checked = false; } chkbox.value = "ぜんぶチェック!"; chkFlag = 0; } フラグが立ってたら、チェックボックスを探して全部外し、 ボタンの文字列を書き換えてフラグを寝かす } |
さて。たった2件のリンクページに、こんなスクリプトは果たして必要なのだろうか。 |
function imgLoad(imgPass) { if (Dmark == "IE30") { alert("このボタンはIE3では機能しません。ごめんね!"); return} pass = new Image(); pass.src = imgPass; imgID = imgPass.substring(0,6); if (imgID == "010816") document.img010816.src = pass.src; } |
function imgLoad(imgPass) { if (Dmark == "IE30") { alert("このボタンはIE3では機能しません。ごめんね!"); return} pass = new Image(); pass.src = imgPass; imgName = "img" + imgPass.substring(0,6); document.imgName.src = pass.src; } |
※後日付記:大丈夫でした。 |
なぜ変わらないかと言えば、そりゃもちろん一番つまらないからであります。おほほ |
「らんぼるぎ〜にのページ」強制改め「pageARM'S」。 ひどいことするね。 |
400×300で200KBてどういうこと? |
1280×960。 |
でも現実はご覧の通りで、4.10に入れたネスケ6.0では思った以上に表示できませんでした。それどころか、5.8に入れたネスケ4.73はまさに革命的でありました。 |
さて、いよいよ正式公開です。 | ||
<<< 7月へもどる |
▲ 一番上へ! |
9月へ進む >>> |