3

私は webview GUI を使用して Android アプリを開発しています。ページを含む要素があります。ヘッダーとフッターがあります。

<div data-role="page">
  <div data-role="header">
    ...
  </div>
  <div data-role="content" id="bg_im">
    ...
  </div>
  <div data-role="footer">
    ...
  </div>
</div>

コンテンツ全体が使用可能な画面サイズよりも多くのスペースを占有しないように、コンテンツ div の背景として画像を挿入したいと考えています。

私はそれを行うJavaScriptを持っています:

document.getElementById("bg_im").style.height=Math.floor($(window).height() - $('#home_header').height() - $('#home_footer').height() +"px";

ページがロードされると関数が実行されます。

デスクトップブラウザー (chrome、mozilla) ではすべて正常に動作しますが、android の webview 内にロードすると失敗します。その理由は、ヘッダーとフッターの関数.height()が値 0 を返すためであることがわかりました。

理由はありますか?私はこの解決策を試しましたが、うまくいきません。それでもヘッダー/フッター サイズ 0 が返されます。

4

1 に答える 1

0

あなたの主な問題は、おそらくあなたの Math.floor() メソッドから来ています。文字列連結と算術演算が混在しています。これらのステートメントを分離する必要があります。

var newHeight = Math.floor($(window).height() - $('#home_header').height() - $('#home_footer').height()); 
$('#bg_img').prop('height', newHeight);
于 2013-04-01T20:22:37.967 に答える