JavaScriptを使って、クールなインタフェースを実現するライブラリは幾つか存在する。よく使われるものとしては、画像をクリックするとその場で拡大表示するもの、タブインタフェース、WYSIWYGなHTMLエディタ、レーティング、プログレスバー、コンテクスト(右クリック)メニューなどなど。 フローティングウィンドウ どれも個別のライブラリは存在する。だが、よく使われるものだけに、一つ一つ用意するのが面倒という人もいるはずだ。そこでこれを使おう。 今回紹介するオープンソース・ソフトウェアはLivePipe UI、Prototype.jsを使ったモダンなUIを実現するライブラリだ。 LivePipe UIが実現する機能はタブ、WSYIWYGエディタ、ツールチップ、フローティングウィンドウ表示、レーティング、プログレスバー、コンテクストメニューなどがメジャーなものとして挙げられている。レーティン
Prototype.jsとはなにか Prototype.jsは、Sam Stephenson氏を中心とするチームによって開発されているAjax対応JavaScriptライブラリだ。単体でもAjaxian.comの2006年と2007年の調査で最もよく知られたAjaxフレームワークに選ばれるほどの人気を得ているが、実はWebアプリケーション・フレームワークRuby on Railsのプロジェクトで開発されているプロダクトであり、同フレームワークに同梱されているため、Ruby on Rails経由で使用されるケースも多い。 ライブラリはMITライセンスで公開され、ドキュメントはクリエイティブ・コモンズ(Creative Commons)ライセンスのAttribution-Share Alike 3.0で公開されている。詳細はライセンスのページで確認していただきたい。 これから6回にわたって、こ
以下のサイトからダウンロードしてお使いください。 Prototype.js 用 http://coderepos.org/share/wiki/JavaScript-XPath/bindings/Prototype jQuery 用 http://coderepos.org/share/wiki/JavaScript-XPath/bindings/jQuery 使いにくいところがあれば すぐになおしますので、コメントやブックマークなどで教えていただければ嬉しいです。 他のライブラリのプラグインに関して そのうち、開発したいなあとは思っているのですが。 そのライブラリの空気感(コンセプト)を読めないと、なかなか使いやすいプラグインは書けないので時間がかかりそうです。 もし 誰か書いてくれる人がいればとてもありがたいなあ。。。とか思っています。 いませんよねいませんよね><? 「こんな、感じで
■ [event][javascript] Kanasan.JS (別名:prototype.jsのソースにツッコミを入れるオフ) に参加してきました ちょっとしたイベントのはずが20人オーバーの中規模イベントになってしまった(笑) Kanasan.JS。 結局、途中から初心者/上級者の2グループに分かれてコードリーディングを進めることになりました (※初心者グループの方が内容のレベルが高かったという噂もあるけど…!?)。 感想ですが、prototype.jsのソース読みがこんなに面白いとは思わなかった! 他の言語ではありえないJavascriptならではの実装があったりして、とても良い企画だったと思います。 今回はまだ400行(全体の11%)しか進んでいないので、次回以降も続きができるといいなぁ。 とりあえず、大量の印刷物の用意など、いろいろな作業をしてくださった主催kanasanに感謝
他のライブラリや、自分のコードと共存させるときは、これらの名前と衝突しないように気をつける必要があります。同じ名前を使ってしまうと、コードがロードされた順番によって挙動が変わる、というようなわかりにくい問題が発生してしまう場合が出てきます。 オブジェクト、クラスの使われ方 ライブラリ内では、上記の名前空間は大きく分けて以下のような使われ形をしています。 その下に別のオブジェクトを入れるための親名前空間として使う Class.create()を使って Prototypeライブラリ風のクラスとして定義する Object.extend()を使って他のクラス、オブジェクトから継承されることを前提とする関数を集める コードを簡潔に記述する為に短い名前の関数として使う 特に、Object.extend()を使って継承を実現している箇所が多く、最終的にどのオブジェクト・クラスにどのメソッドが定義されてい
prototype.js の Event.observe を使った onbeforeunload について 2007-07-20-1: [JavaScript][Firefox] JavaScript のイベントに、ウィンドウが閉じられる直前に起こる onbeforeunload があります。 これを使うと、何がしかの内容を入力中にページを移動する際に警告のメッセージを出すことができます。 WordPress とかで利用されています。 使い方は簡単で、以下のようにダイアログに表示する任意のメッセージを返します。 window.onbeforeunload = function(e) { // なにも返さなければ、なにも起きない。 return '<任意のメッセージ>'; }; ダイアログの表示は以下のようになります。 - Internet Explorer 6.0 - Internet E
皆さんは、「Ext」というJavaScriptフレームワークをご存知だろうか。Extは、4月1日にバージョン1.0がリリースされたばかりの新鋭のフレームワークである。 Extの前身は、「Yahoo! UI Library(YUI)」の拡張版として開発された「yui-ext」というライブラリである。しかし、yui-extでは、リッチなUIを実現できるものの、決してサイズが小さいとは言えないYUIを導入する必要がある。そこで、yui-extの作者であるJack Slocum氏は、YUI以外のライブラリとも併せて使えるようにyui-extを刷新。その成果物をExtという名前で(頭文字の「yui」を外して)リリースした。 Ext 1.0で対応している外部のフレームワークはPrototype.js(scriptaculousも併せて利用可)、jQuery、そしてYUIである。現在のところExt単体で
JavaScriptは絶え間ないポップアップウィンドウや迷惑なアニメーションに覆われた「失われた10年」を乗り越え、Ajaxというキラー技術を引っさげて、ついに復活を成し遂げつつあります。 世界中のエンジニア達がJavaScriptを利用したWebアプリケーションの開発に取り組み、毎日のように新しいライブラリやフレームワークが公開されるようになりました。公開されたコードの再利用により応用が広がり、さらに発展が加速している感があります。 ブラウザー上で誰でも手軽にソースコードを閲覧できるJavaScriptは元来、究極のオープンソース用プログラム言語であるとも言えます。本稿では、既存の人気ライブラリの内部構成を徹底解剖するとともに、オリジナルのJavaScriptライブラリを作成するテクニックをご紹介しましょう。 自作したJavaScriptプログラムを他の人にも利用しやすい形で公開すれば、
Prototype.jsには、HTML要素(以下、単に要素)を取得するための2つの関数があります。それは、$関数と$$関数です。ここでは、この2つの関数を中心に話を進めていきます。 $関数は、idから要素を取得する関数です。一般的にJavaScriptで要素を取得するには、document.getElementByIdを使います。このメソッドは非常によく使われるわりに名前が長いため、コードが繁雑になってしまう傾向があります。そこで、Prototype.jsでは$関数を使います。$関数によってコードは、非常にシンプルになります。 例えば、ある要素の内容を書き換えるだけのコードならば、リスト19のように書くことができます。 リスト19:$関数でDOMの要素を書き換える <div id="target"></div> <script type="text/javascript"> var ele
まずは最近知って便利だと思ったCSSの小技をひとつ。 文章の最後に、「※(米印)」などで注釈を入れたいときに、CSSのみで行の開始位置を揃えるのにすごくシンプルなやり方がこれ。 .note { padding-left:1em; text-indent:-1em; } <p class=”note”>※米印を使う場合はこいつが便利。<br /> 改行してもこの通り。ちゃんと開始位置が揃ってる。</p> 「padding-left : 1em;」でまず1文字分右に動かして、「text-indent : -1em;」で最初の行だけ1文字分左に出す、ということらしいです。これ考えた人はえらいっすねぇ。 他には開始位置を揃えるいわゆる「ぶら下げ」をCSSでやる場合、<div>タグの入れ子を使ってもいいが、<dl><dt><dd>の定義型リストを使うのがおすすめ。Definition Listの略で
前回はJavaScriptの「プロパティ」「空のオブジェクト」「オブジェクト」について復習しました。引き続き「関数オブジェクト」「クラス」「空のクラス」「コンストラクタ」「プロトタイプ」について解説していきます。 JavaScriptでは関数も関数オブジェクトというオブジェクトです。関数オブジェクト自体をプロパティに代入することも可能ですし、関数オブジェクト自体がプロパティを持つことも可能です。 実際に、リスト3のsayMyNameに格納されているものが、関数オブジェクトです。このように、オブジェクトのプロパティに格納された関数オブジェクトのことをメソッドと呼びます。 リスト3:プロパティを定義(再掲) var amachang = { name: '天野', // nameプロパティ sayMyName: function() { //
去る8月30日(土曜日)、ライトウェイトプログラミング言語(Lightweight programming Language)の総合カンファレンス「LL Future」が、なかのZERO(中野区もみじ山文化センター)大ホールで開催された。当日は前線の影響で時おり豪雨に見舞われる中、さまざまな言語のユーザーや開発者など千人近くが集まった。
筆者がPrototype.jsに初めて出会ったのは、2005年9月ごろだったと思います。この頃、オブジェクト指向JavaScriptはまだまだ黎明期で、オブジェクト指向の書き方もさまざまな我流が存在していたことを覚えています。 もちろん、筆者も我流のオブジェクト指向で書いていました。しかし、すべてのエンジニアが我流の書き方をしていては、JavaScriptのオブジェクト指向は普及しません。 そんな時にさまざまなブログで取り上げられ始めたのがPrototype.jsでした。Prototype.jsにはクラスを定義するという機能があり、すべてのエンジニアが同じ方法でクラスを定義できるのです。それは、大きなインパクトでした。しかし、その当時Prototype.jsにはまとまったドキュメントが無く、目利きのJavaScripterたちはこぞってソースを読んでいました。 そして、そのことが図らずとも
Weblog Prototype 1.7.3 The new bugfix release of Prototype features lots of tiny fixes and one giant change under the hood. A foundation for ambitious web applications. Prototype takes the complexity out of client-side web programming. Built to solve real-world problems, it adds useful extensions to the browser scripting environment and provides elegant APIs around the clumsy interfaces of Ajax an
This shop will be powered by Are you the store owner? Log in here
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く