Kaleidoscope このページをアンテナに追加 RSSフィード Twitter

2011-02-27

スマホサイト制作:URLバーをページ読

スマホサイト制作:URLバーをページ読込み完了時に引っ込める方法

今回もあまりがっつり書ける時間が無いので、超小技のエントリー( ̄▽ ̄;)

たとえば、Yahooさんとかがやっているんですが、

「ページを読込んだときに、URLバーが引っ込む」という、ちょっとした気配りの動き。

Yahoo! JAPAN (スマートフォンサイト)

Yahooさんの手法とは違うかもしれませんが)

その方法を紹介します。

僕の場合は、ページ読込みが完了した時に1ピクセルだけスクロールさせています。

そもそも、iOSSafariAndroidの「ブラウザ」は、

ページ読み込み完了時に、スクロール位置が1ピクセル以上あった場合、

URLバーが引っ込む仕様のようです。

(あくまで推測。ページ内リンクなどで、そうなるのが根拠です。)


まぁ、これのなにがいいのかというと、

ページの表示範囲を少し広く見せられる。

ってところでしょうか。


やり方は簡単です。

JavaScriptでWindowオブジェクトの読み込み完了時に、

1ピクセルのスクロールをしてあげます。

jQueryで記述すると

  $(window).bind('load',function(){ //←windowオブジェクトにloadイベントをバインド
    setTimeout(function(){
	window.scrollTo(0,1); //←windowオブジェクトを1ピクセルスクロール
 },1);
  });

setTimeoutについては、リロード時など読み込みが早すぎて動作が追いつかない場合があるため

やや遅らせるという処理をおこなっています。

記述は違えど、こういう手法が一般的のようです。

逆に他に良い方法があれば、教えていただければです!


動作デモ

iPhoneAndroidで見てください。iPhone 3GS/IS03で確認済み)




※ページ内容によっては、setTimeoutの遅延をもう少し大きくしてあげるといいかもです。

※前回のエントリーで「URLバーを隠す行為」とコメントがありましたが、今回についても隠すことを推奨しているわけではありません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/izit_kosuke/20110227/1298765814