2011/11/22
jQuery Mobileのプラグインを作ってみた。
GAEの値上がりでテンションだだ下がりなので
ちょっと気分を変えて jQuery Mobile
のノウハウを整理してプラグイン化してみた。
ちょうど 1.0正式版がリリースされたし。
が
になる。
いい感じじゃね?
リストはこうする
になる。
部品参照はこう、(☆評価サンプル)
function Rating(){this.initialize.apply(this, arguments)};
(function(Class){
var This = Class.prototype;
// リソースの相対パスを絶対パスに変換している。
var TEMPL = $.jqmdp.absPath("Rating.html");
var IMG_ON = $.jqmdp.absPath("star-1.0.png");
var IMG_OFF = $.jqmdp.absPath("star-0.0.png");
// コンストラクタ
This.initialize = function($this) {
this.$this = $this;
this.value = 0;
// Rating.htmlをテンプレート適用。
$.jqmdp.exTemplate($this, TEMPL);
}
// 値を変更して再描画
This.val = function(v){
this.value = v;
$.jqmdp.refresh(this.$this);
}
// on/off の☆の画像を帰す
This.star = function(v){
return (this.value>=v) ? IMG_ON : IMG_OFF;
}
})(Rating);
部品テンプレート定義:(js/parts/rating/Rating.htmlに配置)
P.S. 「 JQMDP 1.0b2 公開します。」で正式版公開しました。
JQM でスマホのネイティブアプリっぽい事をやろうとすると 動的ページをJavaScriptでごりごり書かないといけないのだが JQM はあまりその辺を助けてくれる機能が無い。 そんなに複雑な事でなくテンプレ内のテキスト、画像、リンクの 差し替え位の事がしたいだけなのだが結構めんどくさい。 と言うわけでざっくり プラグインの機能をまとめると- テキスト、画像、リンクとかの差し替えがしたい。
- 配列なんかを勝手にリストに変換してほしい。
- 部品化したテンプレをあちこちで参照したい。
- id="〜"なんか衝突しちゃうから使いたくない。
- 仕様:http://wsjs-gae.appspot.com/jqmdp/
- Download: http://wsjs-gae.appspot.com/jqmdp/js/jquery.jqmdp-1.0b.js
Date:
Date: Mon Nov 21 2011 22:25:20 GMT+0900 (JST)
-
=
- 見たまま、HTMLの中に JavaScript を書いている感じ。
- data-dp-scope はこのタグの中だけで使えるローカル変数を定義している。
- ループ引数の key を data-dp-scope で定義させるのがちょっとダサイが現状やむ無し。
- hostname = localhost
- port = 8080
- hash = #attrs2
- :
- Rating()のコンストラクタが実行されると Rating.html の内容が埋め込まれるようになっている。
- 2つ有るが其々が値を保持できる。
- $(this).jqmdp('scope') は参照元の data-dp-scope="(new Rating($this))" の値を帰す。 したがって、onclick は Rating.val() が呼ばれる。
- data-dp-src="(star(n))" は参照元の data-dp-scope="(new Rating($this))" のスコープで評価されるので省略しても Rating.star() が呼ばれる。
- data-dp-scope を使う事で id の使用を回避できている。
- http://dev.screw-axis.com/doc/jquery_mobile/
- http://d.hatena.ne.jp/pikotea/20101019/1287484040
- http://billboardtop100.net/BLOG/jquery-mobile/cat18/
- http://kachibito.net/web-design/19-jquery-mobile-tips.html
- http://hisasann.com/housetect/2011/02/jquerymobile.html
- http://hisasann.com/housetect/2011/06/jquerymobile_1.html
この投稿へのコメント

コメント・フォーム