this参照

クロージャー作ってイベントハンドラにつっこんだりして、
Function内のthisが書き換わってしまうのを止めて、
内部でobjectをthisとして参照可能にしておく
(prototype.jsを使って)

Function クラスに対する拡張
bindAsEventListener(object)

例えば、

var func = function(){alert(this.id);}
Event.observe(obj, 'click', func.bindAsEventListener(obj), false};

いつもこのファンクション名忘レス。。

radioボタンにlabel

ラジオボタンクリックのサポート用にradioにid付けてlabelにfor="id"を使うけど、
labelの中にあるimgはIEで対応しない。
イメージをクリックしてもうんともすんとも。
解決策って特になさそうで、imageをbackgroudにして対応。。しょぼっ。。

■通常
<input type="radio" id="r1"><label for="r1">ラベル</label>

■idやforが面倒くさい時にやる方法
<label><input type="radio" id="r1">ラベル</label>

■今回のパターン
<input type="radio" id="r1"><label for="r1"><img src="/img/chk1.png">ラベル</label>

scriptaculousのEffectを順次実行

普通にEffect処理を並べて書いたり、Effect.Parallelを使うと
並列実行になって前のエフェクトの完了を待たずに、
次のエフェクトが走ってしまうんで、
順番に実行していくやり方。

new Effect.Move('a', {x:100,y:50,duration:0.5, queue:'end'})
new Effect.Scale('a', 200, {queue:'end'});
new Effect.Move('a', {x:0,y:-50,duration:0.5, queue:'end'})

どっかで、Parallelみたいに、配列で渡すだけで、
やる方法を見た気がするんだけど、昨日から探してるけど見つからない。。。

○| ̄|_

ブロック要素をセンタリング

IEではセンタリングして、mozillaでは×だったので調べた。

<DIV style="text-align:center">
<DIV>〜</DIV>←こいつをセンタリングしたい
</DIV>

ブロックレベル要素をセンタリングする方法

要するに、子供の左右marginにautoを指定でセンタリングしなさい!ってこと。

<DIV style="text-align:center">
<DIV style="margin:0 auto 0 auto;width:300px;">〜</DIV>←こいつをセンタリングしたい
</DIV>

(注)幅も指定しなさい!って。

frameなしで固定ボックス

メモ。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
↑がミソ

#menu {
position: fixed;
margin: 2px 0 0 500px;
↑この2つで位置固定
width: 300px;
height: 300px;
}

とりあえず、IE6,7、FireFox2.0ではOK。

IEでDIVの高さを指定

中身のテキストやタグがないDIV要素にheightを指定したい場合など、
子要素(テキストとかタグとか)がないと、heightやline-heightが効きません。
IEは×。FireFoxは○)
んが、そのDIV要素に『overflow:hidden;』を指定してやれば、
中身は空でもうまく高さの指定が可能れす。