IE5で動くjQueryっぽいライブラリができていました
半分ぐらいjQueryからコードを持って来たような気がしますが、IE5でもjQueryっぽく書けるライブラリができていました。正直、あんまりブラウザのチェックとかしていないので、実際に使うのは結構危険です。
とりあえず、イベントとアニメーションだけ設定した例です。
重要なこと
- jQueryから乗り換えてもいいですか?
- 乗り換えない方が良いと思います。
- IE5のサポートをしたいので使っても良いですか?
- 商業サイトならIE6からのサポートにして、jQuery使った方が良いと思います。
- ソース見ると関数呼び出し減って、速そうなので使っても良いですか?
- 速さを目的とするなら、uupaa.jsをオススメします。
- 使っても良いですか?
- 使わない方が良いと思います。
Twitterで重要なことが謙虚すぎる、つまり、目立っていないとあったので、目立つようにしました
概要
jQueryから相当コードを盗ってきています。
- jQuery Core
- $関数以外ほとんど実装していない。$.eachとかない。$.noConflictも$.resetになっている。
- Selectors
- Sizzleとは完全に違う実装。昔作った奴をほとんどそのまま流用。
- Attributes
- attrとvalはぱくった。class周りは関数呼び出し減らすため、違う実装。
- Traversing、Manipulation
- ほとんどそのまま流用した上にノーチェック。
- CSS
- 無駄に違う実装。opacity以外にbackground-position-xに対応している。CSS3はそのうちやりたい。widthとかoffsetはぱくった。
- Events
- addEventListener一つにいっぱいぶら下げるという実装は同じだけど、複数ネームスペース対応とか微妙に違う。
- Effects
- 違う実装の上、animate, queue, dequeue以外は実装していない。FlashのTweenとかと同じにした。けど、なんかバグっている予感。関数呼び出し少なめなので、滑らかだと信じたい。色の変化が実装されている。
- Ajax
- Utilities
- $.supportだけぱくった。他は実装すらしていない。
- Internals
- $.removeDataが$.data.remove。
流用とかぱくったって部分はIE5で動作するように改造した上で、という前置きがつきます。
とりあえず、jQueryがIE5をサポートするまで、ある程度メンテして自分で使っていきます!