F.Ko-Jiの「一秒後は未来」

Googleがやりそうにないから

野球の成績入力用ウェブアプリケーションとかおそらくGoogleは作らないだろうから、JavaScriptとかDHTMLとかAjaxとか使って使いやすさ重視で作ってみようかと思った次第。理想とするインタフェースはGoogle Calendarだったりします。

なのでまずは「クリックした座標を取得する」というのを調べてました。これはIEの場合とFireFoxの場合とでやり方が異なるらしいです。IEの場合はこんな感じです。

if (window.createPopup) {
 x = event.clientX;
 y = event.clientY;
 if (y + 200 > document.body.clientHeight) {
  y -= 180;
 }
}

これをonClickで呼び出す関数の中に書きます。window.createPopupというやつはIE5.5以降かどうかを判定できるらしいです。document.body.clientHeightでウィンドウの表示領域の高さを取得して、y座標の調節に使ってます。レイヤーがウィンドウからはみ出ないようにするための処理です。

FireFoxの場合はこうなります。

window.onmousedown = getMousePoint;
function getMousePoint(evt) {
 x = evt.clientX;
 y = evt.clientY;
 if (y + 200 > window.innerHeight) {
  y -= 180;
 }
}

window.onmousedownにイベント発生時の処理を記述した関数を渡します(という表現でいいのかな?)。ウィンドウの表示領域の高さは、FireFoxの場合はwindow.innerHeightで取得します。

作る欲求がいつまで続くか分かりませんが、まぁコツコツやります。

【参考】
http://www.tryhp.net/dynamic07.htm
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter05/013/index.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など