タグ: JQueryMobile を抽出しています。
Total: 3

JQueryMobile(Alpha 4.1)で開発してみて困った事のまとめ

ブログ | 2011/6/10 19:54
困ってばっかりで、解決できてないものもありつつ。備忘録。


1.ページ遷移するたび、履歴が溜まっていく

JQueryMobileではリンクをクリックすると、ajaxで一部だけ読み込み、既存のDOMに追加して遷移したように見せる。
だからページ遷移すればするほどDOMが肥大化していく。
履歴があると、ページ遷移が早くなるというメリットもあるけど
Webアプリだとずっと更新されずに前回表示された内容が残ったままというのも制御がしづらくなる。

nonHistorySelectorsというプロパティをうまく使えば実現できるのかもしれないけど
いまいち良く分からなかったので、ざくっと非表示になったら毎回消すようにしてみたらうまくいった。

$(document).bind('pagehide',function(event, ui){
   $(event.target).remove();
});


2.footerをfixedに指定すると、消えてしまうことがある

どうも、backボタンで、履歴のページに戻るときや
Dialogで×ボタンを押して戻るときに消えてしまうようだ。
消えるといっても見えないだけで、footerはちゃんと存在しててクリックしたりはできる。
画面を縦にしたり横にしたりすると再び出現する。
これは対処方法がわからず困った。
とりあえず上記の対応で履歴自体利用しない設計にして逃げた。
Dialogも使わないことにした。
JQueryMobileのバージョンアップで直らないかな?


3.swipeが感度よすぎ

スクロール時のちょっとした円運動でも、swipeと認識してしまう。
これでは使いにくかったので、コードを修正して対応した。
詳しい対処方は下のエントリーで。
http://www.rottel.net/ma2kubo/115069


4.safariのアドレスバーが邪魔
画面が小さい分、少しでも表示領域を広げたい。
そんなときは、自動でちょっとスクロールさせてあげる。
$(document).bind('pageshow',function(event, ui){
   setTimeout('scrollTo(0,1)',100);
});
画面の傾きにも対応したいとき用。
$(document).bind('orientationchange',function(event, ui){
   setTimeout('scrollTo(0,1)',100);
});


5.autofocusが出来ない
hml5のautofocusを指定しても、画面遷移中のエフェクト時にはフォーカスが当たるけど
エフェクトが終了するとフォーカスが外れてしまう。
pageshowイベントでjavascriptでfocusを当てると、カーソルは当たるけど
入力状態(仮想キーボードが出る状態)にはならない。(これはsafariのせいかな)
対処法求む。

チーム内でToDoを共有&採点するアプリをリリース

ブログ | 2011/6/9 12:16
チーム内でToDoを共有&採点するアプリを作りました。

ToDoPo
http://todopo.org


JQueryMobileで作ったのでクロスプラットフォーム対応です。
iOS、Android、Blackberry、WebOS、Opera Mobile、Opera Mini、Firefox Mobile
PCからも使えますが、若干使いにくいです。


シンプルなToDo機能と共有機能は良くある機能です。
ToDoPoの目玉は採点機能。アプリ内では「やったーポイント」と表記しています。


人事評価の360度評価システムのようなもので、
チームメンバーがそれぞれの主観でToDoに対して大変さを評価していくことで
ToDoを消化した際に得られるやったーポイントを設定します。
自然と、専門的なスキルが必要だったり、簡単だけど誰もやりたがらない面倒な作業が高ポイントになると思います。


ToDoに着手する前に、何ポイントの作業なのかがわかるようになるので
高ポイントなToDoは奪い合いになるかもしれませんし、
大変さに比例しない低ポイントの場合は、誰も手を付けないかもしれません。(その時は再評価を)


そんな感じで、ToDoに対してポイントを設定しながら消化していくことで
プロジェクト完了時に、誰がどれくらい貢献したのかを調べるための目安になる事を目的とした機能です。


また、ToDoには必須の優先度設定機能はありません。
代わりに、37signalsの書籍「小さなチーム、大きな仕事」のアイデアをぱくってみました。

すこしその部分を引用。
「これは優先順位が高くて、これは優先順位が低い」と言うのは避ける。
同様に「これは三、これは二、これは一、これは三」と言ってはいけない。
そのようにすると必ずといっていいほど、優先順位が高いタスクが山ほど生まれるはめになる。
これは優先順位づけではない。

そのかわり、視覚的に優先順位を付ける。最も重要なことを一番上に配置する。次に重要なことはその下。
こうすれば最も重要なことは一度に一つだけた。
というわけで、並び替え機能をつけてあります。


ToDoPo
http://todopo.org

Amazon

小さなチーム、大きな仕事―37シグナルズ成功の法則 (ハヤカワ新書juice)
黒沢 健二,松永 肇一,美谷 広海,祐佳 ヤング
¥ 1,155

jQueryMobileのswipeが感度よすぎて困った

ブログ | 2011/5/27 11:55
swipeの判定が感度よすぎる。
右手の親指でスクロールしただけでswiperightが発生してしまう。
なにか設定方法はないか探してみたけど見つからず・・・
仕方ないのでとりあえずコードを修正して対応する方法をメモ。

1100行目あたり(Alpha 4.1)
if ( stop.time - start.time < 1000 &&
       Math.abs( start.coords[0] - stop.coords[0]) > 30 &&
       Math.abs( start.coords[1] - stop.coords[1]) < 75 ) {
   start.origin
   .trigger( "swipe" )

   .trigger( start.coords[0] > stop.coords[0] ? "swipeleft" : "swiperight" );
}
の30のところ120くらいにすると個人的によい感じになった。
前 | 1 | 次

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close