jQueryは使っても楽しいのですが、ソースを読むのはもっと楽しかったりします。
いっそjQuery自身にjQueryを読ませたら読むのも楽になるのでは?
jQuery Source Browser
というわけでこさえたのがこちらです。
Open in New Windowselect from the menu on the left |
|
こんなのがあっという魔に作れるところも、jQueryの魅力です。
で、実際にソースを見てみると、白魔術も黒魔術も使いまくりですね。
たとえばjQuery.isType()
。toString.call(obj)
とはね。
たとえばjQuery.globalEval()
はeval()
を全く使っていないし。
あとこれ書いて気づいたのですが、jQueryってDOMノードの大きさを変えるだけではなく、変えないのにも訳に立つのですね。
Enjoy!
Dan the jQuerier
HTML+CSS
JS
(function($){ var names = ['jQuery'], srcOf = { 'jQuery':$.toString() }; var jo = $('body'); for (var p in jo) { if (typeof jo[p] === 'function'){ names.push(p); srcOf[p] = jo[p].toString().replace(/\t/g, ' '); } } for (var p in $) { if (typeof $[p] === 'function'){ var n = 'jQuery.' + p; names.push(n); srcOf[n] = $[p].toString().replace(/\t/g, ' '); } } var whole = $('#jQbrowser'), select = $('#jQbrowser select'), pre = $('#jQbrowser pre'), iframe = $('#jQbrowser iframe'); whole.height($(window).height() * 0.9); var selectw = select.width(), prew = pre.width(), preh = pre.height(); $.map(names.sort(), function(v){ $('<'+'option/>').text(v).appendTo(select); }); var urlroot = iframe.attr('src'); select.bind('change', function(ev){ var name = $(this).val(); var code = srcOf[name]; if ($.browser.msie) code = code.replace(/\n/g, '\r\n'); select.width(selectw).height(preh); pre.stop().hide().text(code).width(prew).height(preh).fadeIn(); iframe.attr('src', urlroot + name + '/'); }); select.width(selectw).height(preh); pre.width(prew).height(preh).parent().height(preh); })(jQuery);
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。