
■iFingerScrollを公開したあと、GmailのiPadビューのペインスクロールが自分のに比べて相当サクサクなのに気付き、どうやってんだろと思ってPCからiPadのUAを送ってソースをちょっと見てみたところ、” -webkit-transform: translate3d “をつかってdivをスクロールさせてるらしいことがわかりました。
ということでiFingerScrollもCSS Transitionでabsoluteの座標を動かすのではなく、translate3dの指定をjavaScript側の制御で動かすように再実装したところ、いい感じになりました。translate系の指定はもともとtransitionやanimation目的でGPUサポートありで実装されてるので、CSS Transition/Animationとして使わなくても速いのかもしれません(憶測)。レガシーCSSのabsolute指定はあくまで指定座標への固定表示用途で考えたほうがよさそうです。
■ついでに前回やってなかったスクロールブロック先頭/末尾でのスプリングアクションというか、ドラッグ中は領域端を超えて引っ張れて放すと戻るアクションも加えてみました。これ単なるよさげエフェクトではなく視覚的に理解しにくいスクロール端(動かないと操作が間違っているのかと思ってしまう)をふるまいで明示するタッチUIの重要な作法になってるのは理解していたんですが、実際にアクションを加えてみてあまりの体験の違いにびっくりしてしまいました。webでiPadUI作るときは必ずこのアクションを入れたほうがよいと思います。
あとtweetie2的なpull reloadコールバックとかもあるとよそうだなと思いつつ、とりあえず現時点で公開しておきます。
- jquery.iFingerScroll-translate.js
- デモ(要iPad,iPhone,Chrome,Safari4)
つかいかた
$(document).ready(function() { $("#sidebar").iFingerScroll(); $("#main").iFingerScroll(); });など
- Newer: Twit log from doppac_cc
- Older: Twit log from doppac_cc
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://collisions.doppac.cc/archives/310/trackback
- Listed below are links to weblogs that reference
- iFingerScrollをtranslate3dで再実装しました from collisions.doppac.cc