[JavaScript]jQuery#hover()を移植してみた
- 2007-11-22
- カテゴリ: Client Side
- タグ: Tips JavaScript hover prototype.js jQuery
[追記(2007-12-09)]バグが出たので、修正版を書いて別のエントリーで公開しました。
[追記(2007-11-23)] 改善案を思いついたので書き換え。jQueryの原型をとどめなくなった。
jQueryのhoverメソッドが便利です。↓こんな感じに使います。
$('#example').hover(
function() {
this._message = document.createElement('span');
this._message.innerHTML = 'Let\'s hover.';
this.appendChild(this._message);
this.style.backgroundColor = 'yellow';
},
function() {
this.removeChild(this._message);
this.style.backgroundColor = 'white';
}
);
[JavaScript][prototype.js]$A関数のコードに感動
- 2007-11-08
- カテゴリ: Client Side
- タグ: JavaScript prototype.js 配列
prototype.jsの1.6がリリースされましたね。
なんかますます複雑化した感じがします。特に、Class関係のAPIなんかは、もうJavaScriptとは思えない。
んで、例によってソースをつらつらと眺めていたわけですが、$A関数のコードに少し感動。
var length = iterable.length, results = new Array(length); while (length--) results[length] = iterable[length]; return results;
この発想はなかった。whileを使ってこんなシンプルに配列をコピーする方法があるとは。
ただし、調べてみると、IEとOperaでは↓の方が速いみたいです。
for (var i = 0, l = o.length, r = []; i < l; r[i] = o[i++]); return r;

