uupaa.js version 0.4 をリリースしました。
uupaa.js version 0.4 を リリースしました。
今回は、
- min-width: max-width: min-height: max-height: をサポート
- opacity: をサポート
- img要素のpng画像を透過, background-imageのpng画像を透過
- メソッドチェーン式のI/Fを提供開始
- いくつかのバグFIX
です。max-widthのサポートがメインです。
uupaa.js 機能比較で動作例が見れます。
反省会
- IE7.js のインスパイアで終わってしまった、残念なアップデート。
- 本当は display: table-cell を実装したかったんだけど、それにはまずmax-widthの実装を検討する必要があって、max-widthの実装がトライ&エラーだったってのが実情。
- 特に難しかったのが、幅を求めるために、実際に要素の幅を色々と変化させる必要があって、でもそういうことをすると、リサイズ(再描画)イベントが発生して、その処理中にさらにリサイズイベントが…といった感じに、永遠にリサイズイベントが発生するケースというかプロパティの組み合わせがあることがわかった。そこからが大変。IEを何度も何度もフリーズさせてしまい、かな〜り悩んだ。
- max-width を実現するライブラリとして、IE7.js と minmax.js からアイデアをもらった。
- max-heightは後でやり直しが必要かも、ちゃんと動いていない気がする。
- jQuery風味なメソッドチェーン式I/Fは、必要なものから順次実装する予定なので、例によってスカスカの状態。
minmax.js の不具合(?)っぽいやつを一応書いておくと、
max-width < min-width のケースで幅の解釈が変だったり、
黄色のIEが minmax.js で、ピンクのIEが uupaa.js。残りのピンクは、Opera9.5, Firefox3, Safari3.1。