?D of K
Function.prototype.curry = function(t) { var self = this; return function() { return self.apply(this, [t].concat(arguments)); } } のような関数をカリー化引数を部分適用させるメソッドを作ってみたが上手く動作しない。arguments は Array オブジェクトではないので、[t].concat(arguments)はフラットな配列として展開されないのだった。 function hoge() { window.alert(arguments); // object Arguments window.alert(arguments instanceof Array); // false } hoge(); JavaScript には、arguments 以外にも、D
画像にマスクを施せるJavaScriptライブラリ「Edge.js」と画像エフェクトライブラリ集 2007年08月06日- Edge.js (with basic IE 6/7 support) Edge.js 1.1 allows you to add individual masks (inc. inbuilt mask) to images on your webpages. It uses unobtrusive javascript to keep your code clean. 画像にマスクを施せるJavaScriptライブラリ「Edge.js」。 Edge.js を使えば次のように、画像にマスクを与えることが可能です。 次のように、JavaScript でマスク画像の配列を定義して、必要ライブラリを読み込んだ後、img タグに適切なクラスを付与する感じになります。 <!--
リンクホバーを超カッコよくアニメーションするJavaScriptライブラリ「Scrollovers」 2007年08月07日- Scrollovers - A New Way of Linking Scrollovers are a way to quickly and easily add flair to your web pages, giving your users an experience they weren't expectin g. リンクホバーを超カッコよくアニメーションするJavaScriptライブラリ「Scrollovers」。 例えば、次のアンカーにカーソルを合わせて みてください。 [YOUR TEXT HERE] Scrollovers を使えば、こんなリンクの貼り方が出来ます。 普通のリンクより 分かりやすいだけでなく、訪問者に驚きを与えることが出来ますね
追記 [20061103]: ライブラリ非依存なバージョンも書いてみました。id:reinyannyan:20061103:p1 でご覧下さい。 最近自分で書いた JS プログラムが驚くほど重かったので、どこに原因があるか調べたいと思いました。 その方法として、怪しいと思う箇所に (あるいは思わない箇所にも) 手作業でタイマーを仕掛けて、部分部分の実行時間を計測するのも手だと思うんですが、クラスのどのメソッドでどのくらい時間が掛かっているのかが自動的に分かる、というのが理想的かなと思いました。 (以下、prototype.js 的な (OO 的な) コーディングを対象とした話になります) まず思いついたのは、プロファイルしたいクラス (function オブジェクト) を受け取って、メソッドを動的に書き換えるという方法です: for (var m in klass.prototype) {
Kawa.netxp [ajax] JKL.ParseXML/ajax通信処理ライブラリ JKL.ParseXML クラスは、サーバ上の XML 形式ファイルをダウンロード~解析して、 JavaScript オブジェクト(配列やマップ)に変換するライブラリです。 複雑な DOM 操作なく簡単なスクリプトで XML 形式ファイルを扱えるため、 Amazon など XML を出力する既存の Web サービスや、 CGI と連携することで ajax ページを手軽に構築できます。 IE・Firefox・Opera・Safari のクロスブラウザに対応しています。 XML を JSONのように手軽に扱える他、 JSON/CSV/LoadVars 形式ファイルなどのテキストファイルも利用可能です。 安定版アーカイブ: jkl-parsexml-0.22.tar.gz TAR.GZ jkl-parsex
Ext JS, The Ext teamは1日(米国時間)、Extの最新版となる「Ext 1.1」を公開した。ExtはJavaScriptで開発されたWebアプリケーションフレームワーク。スタンドアロンで提供されているフレームワークで、軽量HTMLエディタ、新しいExt.Ajaxユーティリティクラス、拡張されたDateFieldおよびDatePickerコンポーネント、整備されたドキュメントなどに特徴がある。以前のバージョンと比較してバグ修正も実施されている。 Ext 1.1では、とくに他のサードパーティライブラリへの依存がなくなった点が特徴的。このためExtを使ってWebアプリケーションを開発する場合にはExtだけを用意すればよくなった。ただし他のライブラリと共有するためのアダプタ機能は引き続き提供されるため、デベロッパのチョイスで複数のライブラリやフレームワークを組み合わせて使うことも
このページでは、JavaScriptのオブジェクト指向言語としての側面を研究します。 JavaScriptは、HTMLの拡張という側面が注目されていますが、 プログラム言語として見た場合にも、興味深い独自の特徴がたくさんあります。 このページでは、これらJavaScriptの言語としての特性、 特にオブジェクト指向言語としてJavaScript を見た場合の特徴について詳しく研究を試みます。 JavaScriptは、ほぼ完全なオブジェクト指向言語です。プログラマによるクラス定義、プロパティ定義、メソッド定義ができます。継承は、言語の基本機能としては用意されていませんが、基本機能の組み合わせにより実現できます。 メソッドのバインディング(binding)はレイトバインディング(late binding)です。これは、JavaScriptが変数の型のない言語だからです。 JavaScriptに
先日のShibuya.js Techtalk#2では開発手法の話とかは(前回話したので)あまりしなかったのですが、そういう話を知りたいという人も多いようなので適当に公開していこうと思います。 http://la.ma.la/misc/js/mechanize/ WWW::Mechanizeと似たインターフェースでIEを遠隔操作するライブラリです。htaから呼び出してテスト用のツールを作ったりします。wshからも使えると思います。 機能的には最低限のものしか実装してません。ファイルのアップロードとかはJS側からいじれなかったと思うので多分無理です。 この手のツールではseleniumというのが有名なのですが、多機能すぎて使い方が良くわからないので自作しました。単純な動作確認や連投に使ったりします。 これを使ってアレをナニしたりしているのですがとてもここには書けません。
自分用のメモも兼ねてエントリー。JavascriptやらAjaxやらで何かやりたいときに便利そうなリンク集のまとめです。 Javascript Libraries 主要なライブラリーとエフェクト用の拡張機能、その他ツールなどです。まずはこちらからいろいろ試してみるのがよさげですね。 » Javascript Libraries Ajax Rain Ajaxの小技いろいろ集です。ちょっとしたスクリーンショット付きのこうしたリンク集は眺めていて楽しいですね。 » 485 + Ajax/Javascript/Dhtml examples and demos to download Mini Ajax こちらもAjax Rainと同様です。こちらも綺麗なサイトで眺めていて楽しいですよ。 » MiniAjax.com / A showroom of nice looking simple downl
思った JavaScript はすぐに実行してみましょう! ブラウザの URL 入力欄に javascript:(function() { /*実行したいコードを書く*/ })()FireBug を使ってる人は、コンソール開いて実行したいコードを書く。 たとえばこんなことができます。 これらの例は僕が日頃使っているものです。 グローバルで使える関数を列挙する(Firefox Only) FireBug用 for(var n in window) if(typeof window[n]=='function')console.log(n); URL用 javascript:(function(){var b='';for(var n in window)if(typeof window[n]=='function')b+=n+"\n";alert(b)})() Object.prototyp
cssText って知ってますか? cssText っていいうのは CSSRule オブジェクトとか CSSStyleDeclaration が持っている情報を css ファイルに書く形式の文字列にしてくれる機能です。 乱暴に言ってしまえば、 css 系のオブジェクトが持っている innerHTML みたいなものです。 具体例を見てみましょう。 こんな感じの body があるときに <body style="margin: 1em; padding: 1em; border: 1em">....</body> こんな感じで使えます。 alert(document.body.style.cssText); // 'margin: 1em; padding: 1em; border: 1em' 簡単でしょう?(ボブ略 設定も出来ますよ こんな感じ // さっきの続き document.body
またFirefoxは短縮形で取得しようとすると、設定していないプロパティにデフォルト値が入った状態で返ってくるので注意する。 getStyleValue( "div.hoge", "background" ) //Mozilla : rgb(17, 34, 51) none repeat scroll 0% 0% ルールを削除する function deleteRule( index, sheetindex ) { if( sheetindex == undefined ) sheetindex = 0; document.styleSheets[ sheetindex ].deleteRule( index ); } 全てのルールにはインデックスが振られており、それを指定することでルールから消すことができる。 ただ、同じセレクタで上書きするのとほとんど変わらないので、あまり必要にならない
ブロックレベル要素の高さを揃えるheightLine.js Web標準の日々のグループディスカッションで出たライブラリ案を作っていく企画、第一弾。 ブロックレベル要素の高さを揃えるjsライブラリを作ってみました。 このライブラリは新バージョンがあります。 レスポンシブWebデザインに対応した「jquery.heightLine.js」 CSSでは複数のブロックレベル要素の高さを揃えれないという問題があります。 このheightLine.jsは、複数のブロックレベル要素の高さを揃える事ができ、2カラムレイアウトや3カラムレイアウトのそれぞれのカラムの高さを揃えたり、複数のブロックレベル要素をfloatで配置する際の高さを揃えたりできる、便利なライブラリになります。 設置方法 head要素内にダウンロードしたheightLine.jsを読み込みます。 <script type="text/ja
当サイトでは、本日よりコナミコマンドを実装いたしました。コマンドはファミコン版グラディウス準拠の「上上下下左右左右BA」です。SFC版グラディウスIIIのように自爆はしません。ご安心ください。 コマンドを打つとサイト全体がパワーアップします。もう一度コマンドを打つと元に戻ります。携帯電話やRSSリーダでご覧の場合は効果がありません。ご了承ください。 特に意味はありませんが、どうしようもなくコナミコマンドを打ちたくて打ちたくて仕方がなくなったときなどにご利用ください。料金は一切いただきません。 著作権を主張するようなモノでもないので、自分のサイトに付けたいと考えてらっしゃる奇特な方はソースを見て勝手にお持ち帰りください。 追記:うまくいかない方は日本語入力をオフにしてください。Windows版のInternetExplorer、Firefox、Operaそれぞれの最新版で動作確認済みです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く