2011/09/09

iScrollを設定した要素が非表示の時に、画面を回転させて向きを変えるとうまく動かなくなる

スマートフォン向けサイトでiScrollを使ってるんだけど、iScrollを適用させてる箇所がデフォルトでは非表示になってる。
ボタンをクリックすると、そこが表示されるって感じ。

非表示中は高さをうまく取得できないらしく、非表示のまま画面を横向きにした後、iScroll部分を表示させるとうまく動かない。
iScrollには設定を更新するrefreshというメソッドがあるのでそれを使う

  1. var iSc = new iScroll(wrap);  
  2.   
  3. setTimeout(function(){  
  4.   
  5.   //iScrollの要素を一旦表示にする  
  6.   wrap.style.display = "block";  
  7.   //iScrollの中身を更新  
  8.   iSc.refresh();  
  9.   //表示を戻す  
  10.   wrap.style.display = "";  
  11. }, 0);  


これを画面回転時のイベントで呼び出す


ちょっと前に「css切り替えたのに表示がかわらん!」っての書いたんだけど、色々変更しているうちに治ってた…。
原因調べとかないとな…

0 件のコメント:

コメントを投稿