androidブラウザでdivのスクロール

androidブラウザでは,divのスクロールが出来ない(感覚的には,強制的にoverflow:hidden;が適応される感じ)みたい。というか見やすくするためにdivの扱いを変えてるので,注意が必要。

でもajaxでブロックの中身を更新したい時なんかは,divのoverflow:scroll;とかで表示させるのが一般的ですよね。でもこれが使えない…ので,javascriptでスクロールバーを付けてみた。

使ったのは,prototypeベースのlivepipeにあるControl.ScrollBarパッケージ。

だけど,さっきも書いた通りdivの扱いが違うので,というかぶっちゃけスクロールハンドラ(スクロールバーの動く部分)がドラッグ出来ない上に,スクロールさせたい位置を予測してタップするのも至難の業。ちなみに,トラックポインタでスクロールバーのdivを選択してクリックすると,ちょうど中央がタップされたことになるみたい。

なので,上下に矢印ボタンを付けて,更にPeriodicalExecuterを使って,タップごとに自動スクロールの停止/開始をスイッチさせることに。

ちなみに,普通のブラウザ用に,矢印ボタンをクリックしてる間ずっとスクロールさせるには,mousedown/mouseup/mouseoutイベントとPeriodicalExecuterを上手く組み合わせれば良いわけです。

とりあえずはこれで大分お便利になりましたわ。

コメント

コメントを打ち込んでください
JRQGG
 

Now loading some news...