忍者ブログ
[1] [2] [3] [4] [5]

 試合結果の打撃表作成ツールで、
セレクトボックスを使用して各項目を選択しているが、
例えば、一人の打席でも、打つ前に、エラーが連続して複数回起きるときもある。

この場合に、現在は以下のようにしているので、
同じ項目を連続して指定しても1回しか入力できない。
連続して入力するには、一度選択し、次に同じ項目を選択するには、
一度白紙項目を選択し、続けて再度同じ項目を選択する必要がある。

  属性<SELECT NAME="nzoku" onChange="n_zoku+=options[this.selectedIndex].value">

そこで、連続して同じ項目を指定しても連続して同じ項目が入力できる方法を考えた。

なにしろ、一度指定したものは、指定した内容が表示されていないと、
何を指定したのか分からなくなるので、これは守るとして、

そうすると、セレクトボックスで指定し、
指定した項目を別の領域に表示し、指定したセレクトボックスは白紙に戻す。
  →これは単純でいいが、表示領域が倍になるので、PDAではキツイ。
   ので、ボツ。

したがって、
  ?セレクトボックスで一度指定して、
  ?指定した項目が表示され、
  ?連続して同じ項目を指定したときでも、
  ?同じ項目が入力されないと困る。

すなわち、
  一度目の?で「onChange」イベントで選択項目をゲットし、
  連続指定?で再度「onChange」イベントで選択項目をゲットできればいい。

しかし、現状では、?で「onChange」イベントが発生しない。
  それは、すでに選択している項目を再度指定しても
  すでに選択しているので、変更ではないのでonChangeイベントは発生しない。

ということは、
  ?では、既に選択していた項目を違う項目
  すなわち、白紙項目が選択されている状態に
  しておけばいい。

どうやって。。。。

で、いろいろ試行錯誤して、
  「onfocus」イベントがある。
  これを利用できないか考えた。

すなわち、
  「onfocus」イベントが発生したときに、白紙項目に選択を変更する。

でやってみたら、
  一度目は、最初に発生するが、2度目連続で指定しても、
  既にフォーカスがあるので、2度目は発生しない。。。。。

ということで、
  それなら、1度目の「onChange」時に、選択項目をゲット後、
  「blur()」でフォーカスをはずせば、2度目指定してもフォーカスが来るのではと。

結果、出来ました。

  属性<SELECT NAME="nzoku" onChange="n_zoku+=options[this.selectedIndex].value;this.blur()"
              onFocus="this.selectedIndex=0">


拍手[0回]

PR

 毎年、HPの更新作業で一番苦労するのが
試合日程表を作る作業。

 作り方は、先にペナント競争の日程データを作り、
それをベースにエディタで置換しながら作っている。

でも、非常に大変。。。。

ということで、これをJavaScriptで作ってしまおうと考えて作成した。

●考え方
 ?使用するデータ。
    ○ペナント競争の日程データ
    ○カレンダデータ
 ?データ構成
    ○ペナント競争の日程データは、そのまま使用。
       ・開始時間は、デフォルトでhh:mmで出力し、
          ・時間確定時に手入力してもそんなに手間ではない。
          ・hh:mmを置換で18:00に替え、異なる部分だけ変更すればよい。
    ○オープン戦は、ペナント競争データの先頭にオープン戦用のデータを作成し付加する
    ・カレンダデータは、毎年使うので、年毎の変更が容易であること。
     そのため、日付と曜日を対で入力せず、
       ○別データでカレンダの先頭日付の曜日を指定する。
       ○期間は、2/1から日本シリーズ終了+1週間まで
       ・日付には、
         ○祝日の場合は、祝日情報を付加する。
         ○オールスターゲームの場合は、対応する情報を付加する。
         ○クライマックス・日本シリーズの場合は、対応する情報を付加する。
       ○データ形式
         ○二次元配列で、日付(全角4桁:ex2月1日=" 2 1")、付加情報
         ○付加情報:祝日="祝"、オールスター="オ:文字列"、クライマックス="ク:文字列"
               日本シリーズ:"日:文字列"
    ○対象チーム名:対象チーム名をペナント競争データのチーム名で設定する。
 ?仕様
    ○一日1行づつデータを作成していく。
    ○日付はポインタ管理し、カレンダデータとペナントデータで用いる。
      ○基本ポインタは、カレンダデータとし、ポインタを一つ進める。完了なら終了。
      ○基本ポインタの日付と同じ日がペナントデータにあれば、試合ポインタを当該データに進める。なければNULL。
    ○1行データの作成(1行データはNULLとし、ここに挿入して作成)
      ○基本データの文字毎に対応する処理へ進み、基本データ文字の最後まで繰り返す。
         ○祝:基本ポインタの日付が
             ○日曜日、もしくはカレンダデータの付加情報が祝日であれば、1行データに赤タグ付加
             ○土曜日であれば、1行データに青タグ付加
         ○日:基本ポインタの日付が1日でカレンダデータの先頭でなければ、前月の最終行を出力
              "</pre><a href="#INDEX">このページの先頭へ</A>"
           ○1日の場合は、月初めの月行を出力。x=月の数値
              "<a name="x"><h4><font color="green">"
              "x月</font></h4></a>"
              "<pre>"
           ○1行データに日付(全角2桁)+"日"を挿入
         ○曜:曜日を求め、1行データに挿入。
         ○閉:1行データの先頭にfontタグがあれば、</font>を挿入。
         ○(:試合ポインタがNULLでなく、対象チームが試合があるが予備日(=(があるとき)なら、半角の"("を挿入。
         ○ホ:試合ポインタがNULLでない場合、
              ○対象チームが試合があれば、ホームチーム名+"−"を全角3桁で挿入。
              ○対象チームが試合がなければ、全角3桁で"   "を挿入。
         ○ビ:試合ポインタがNULLでない場合、
              ○対象チームが試合があれば、ビジターチーム名+" "を全角3桁で挿入。
              ○対象チームが試合がなければ、全角3桁で"   "を挿入。
         ○球:試合ポインタがNULLでない場合、
              ○対象チームが試合があれば、球場名+" "を全角5桁で挿入。
              ○対象チームが試合がなければ、全角5桁で"     "を挿入。
         ○時:試合ポインタがNULLでない場合、
              ○対象チームが試合があれば、"hh:mm"を挿入。
              ○対象チームが試合がなければ、" "を挿入。
         ○):試合ポインタがNULLでなく、対象チームが試合があるが予備日(=)があるとき)なら、半角の")"を挿入。
         ○他:試合ポインタがNULLでなく、
              ○他チームの試合があれば、" "+"CD,GT"にペナントデータを変換し挿入。
    ○すべて作成したらテキストBOXに出力する。

    ○1行の基本データ(すべての情報を配置したデータ)の中の半角文字を
      ○用いるデータから対応する内容に置換する。
      ・したがって、以下のテーブルを作る。
      ○「データ内の情報文字→対応した置換文字配列のインデックス番号」テーブル
      ○置換文字配列テーブル
      ○1行基本データは、以下とする。
         「祝日曜閉(ホビ球時)他」
          祝:祝日のFONTタグ(土曜:青、日曜・祝日:赤)
          日:日付(全角3桁): 8日、12日
          曜:曜日(全角3桁):(月)
          閉:祝日のFONT閉じタグ
          (:予備日の場合(半角1桁)
          ホ:ホームチーム名(横浜、ヤク、日ハ)+"−"(全角3桁)
          ビ:ビジターチーム名+" "(全角3桁)
          球:球場名(ナゴヤド)+" "(全角5桁)
          時:開始時間(hh:mm)半角5桁
          ):予備日の場合(半角1桁)
          他:他の試合(CD,GT)(最大半角24桁)

拍手[0回]

 ブログでお勧めポイントとか、ココ行ってきたとかの紹介で
そのポイントの地図をブログに表示できる無料ツール「ちず窓」が出来たそうです。

で、説明を見る限りは、選んだポイントの地図表示用のHTMLを自分のブログの
記事に貼り付ければいいみたいだが、BLOCKBLOGは記事内にはHTMLは貼れないので、
その場合は、何かリンクURLを貼り付ければいいみたい??

なんか、説明を見てもよくわからない。
ただ、どんなブログでも出来ると書いてあるが、できるんだろうか???
単にリンクを貼っただけじゃやる意味無いのでね。。。

 ということで、まずは会員登録して、使ってみることに。
ところが、サーバの不調(なんかアクセスが集中しすぎたみたい)で
登録が出来ず、後から登録しておきましたと。。。


でも、待て。この記事では、どこのポイントを紹介すればいいのだ????

 ううーーーーん。。。。。

そうだ、この記事では例を示せばいいじゃないのか。

ということで、今は冬ですね。
これからはスキーシーズン。
じゃ、自分が今までに行った日本のスキー場で一番のお勧めなどを。

「安比高原スキー場」

http://chizumado.jp/RasterMap?position_id=332179


>ここは、山の山頂から、コースが山麓まで沢山あり、
斜度も中級者向きコースが長く(1.5km)あって、
滑り甲斐がある。コブもあるし、いいです。
 
なにしろ、沢山滑って練習したい人にはお勧め。
 
問題は、強風が吹くとリフトが止まることだったが
最近は行ってないので、どうだか判らないが。。。

と書いたけど、実際に登録して地図のポイントを作成して
作成されたHTMLタグを見ると、IMGタグで地図画像を表示し、
それをAタグでリンクを貼ってある。

もしHTMLタグが貼れない場合は、単なる地図へのリンクになってます。

ということで、BLOCKBLOGでは地図画像のURLを書けば表示はできるはず
だけど、このURLは画像ではないので、まともにやっては無理そうですね。^^);;

●2005/12/24 ということで、DOMで記事本文中に無理やりIMGタグを挿入しました。

心配は地図の大きさだったが、さすがにブログを意識して小さ目だったのでOK。

○考え方

 ?BLOCKBLOGの記事には、以下のように記載する。

  すなわち、ちず窓で作成されたHTMLタグの

     Aタグ内の HREF=”***”
     IMGタグ内のSRC=”。。。”

  の***と。。。を地図を表示したい部分に以下のように記載する。
 
     [[。。。:***]]

 ?jsファイルを作成する。

  考え方は、上記の結果、記事内では以下のHTMLに変換されるので、

   <A HREF=”***”>。。。<A>

  ここで、***と。。。の先頭のURLは、ちず窓を表示させる専用のURL
  なので、この部分を記事内で検索してIMGタグに置き換える。

  すなわち、
    ・記事内でAタグを見つけ、そのHREFが***部分の
     先頭数文字と同じかを見つける。

       ・さらに、その子ノード内のテキストが。。。の先頭数文字
        同じかを判断し、同じであれば

          ・IMGタグをcreateTagで作り、もとの子ノードと
           replaceChildすればよい。

 ?上記のjsファイルを各ページのペイン:footerに「どこのもブロック」で登録する。

●以下はjsファイルのソースです。

< <!-- <![CDATA[

//**************************************************************
// display map window for BLOCKBLOG (Copyright-free)
// 2005.12.24 V1.0 : 7maru JavaScript tool
//**************************************************************
function js7DisplayMapWindow(){
var i,j,src,obj,t;
var tagList = getTagObj("A");
for(i=0; i<tagList.length; i++){
if(getHref(obj=tagList[i]).indexOf(
"http://chizumado.jp/view?position_id=") != -1){
if((t=getTextValue(obj)).indexOf(
"http://chizumado.jp/RasterMap?position_id=") != -1){
setImgTag(obj,t,"ちず窓");
}
break;
}
}
}
function getTagObj(tag){
if (document.all){
return document.all.tags(tag);
} else if (document.getElementById){
return document.getElementsByTagName(tag);
}
}
function getHref(obj){
if (document.all){
return obj.href;
} else if (document.getElementById){
return obj.attributes.getNamedItem("href").value;
}
}
function setImgTag(obj,src,title){
var iobj;

if (document.all){
obj.innerHTML = "<img src='"+src+"' title='"+ title+"'>";
} else if (document.getElementById){
iobj=createTag(obj,"","IMG");
obj.replaceChild(iobj,obj.firstChild);
iobj.setAttribute("SRC", src);
iobj.setAttribute("TITLE", title);
}
}
function getTextValue(obj){
if (document.all){
return obj.innerText;
} else if (document.getElementById){
return obj.firstChild.nodeValue;
}
}
function createTag(parentObj,createid,createtag){
var obj=document.createElement(createtag);
obj.setAttribute("id",createid);
parentObj.appendChild(obj);
return obj;
}

js7DisplayMapWindow();

// ]]> -->

拍手[0回]

 インターネットの無料ツールを調べていたら、
「逆アクセスランキング」というものを見つけた。

 HPの方には、この逆リンクの設置を考えてみることにしたが、
ブログの方にも設置できないか考えてみた。

ブログのリンク集というのは、自分で作るか、
あとは、自分が見たいブログの更新状況を知らせてくれるツールがあるようだ。

この逆リンクは、なにしろ自分で作らなくても、
アクセスしてくれば勝手に作ってくれるところが、手抜きした人にはいい。

 で、必要性という点では、アクセス解析を設置しているが、
その中でアクセス元のURLは分かる。
殆どが、検索サイトからなのですが。。。。。

 まあ、ブログの場合には、記事内からのリンクや
TB先とかコメント先からのアクセスもあるので、
まあ、その一覧が確認できるし、どのくらいアクセスしてくれたかも分かる。

 ということで、サイドメニュー内に「m(_ _)m 逆リンク先」
という項目を設けて設置してみよう。

 表示は、サイドメニュー内に直接表示するのか、
別画面に表示するかは、どうしようか?

 これは、実際に設置してみて、どちらがいいか見てみよう。

別画面にする場合(BLOCKBLOGの場合)は、
?jsファイルを用意する。
?「リンク先を表示」ボタンHTMLをdocument.writeする。
?上記ボタンを押したときに、別画面表示関数を呼び出す。
?別画面表示関数内で別画面表示と
?逆リンク表示スクリプトを書いたHTMLをdocument.writeする。

直接表示する場合は、?〜?が不要。

拍手[0回]

 このところ、メインの掲示板に依然あった広告荒らしとは違って、
順位予想掲示板の方に、出会い系広告の荒らしの書き込みがある。

 こちらは、2日に1回ぐらいのペースなので、そんなに悲惨な
状況ではないが、毎回異なるIPアドレスで、書き込み内容も
替えて書き込んでくる。それも深夜とか朝とか、夕方に。
なので、すぐ削除というのは対応できない。

 こちらの掲示板は、順位予想のため、必ず1位チームの勝ち数を
入力してもらう形態である。この勝ち数を、通常の掲示板を改造して
順位予想掲示板を作っている関係上、記事のタイトル(Subject)を
代用して、Subjectに記入してもらっている。

 荒らしは、掲示板を見ていないというか、単純にプログラムで
サーバ宛てに書き込んで来るため、
タイトル、email、内容を書き込んでくるようで、
勝ち数が、数字ではなく、文字列になっている。

ということで、順位掲示板に関しては、勝ち数項目に
数字以外が入力されていれば、対応する記事をコメントにする
ようにした。

 そうしたら、しばらくは書き込んできていたが、
3週間後にはあきらめてくれたようで。

拍手[0回]

忍者ブログ [PR]
カレンダー
03 2024/04 05
S M T W T F S
1
8 9 10 12
16
22 23 24 25 26 27
28 29 30
フリーエリア
[-]最新トラックバック
プロフィール
HN:
7maru
性別:
非公開
自己紹介:

バーコード
ブログ内検索
[+]アーカイブ
アクセス解析