0

JavaScriptを使用して動的なサイズ変更を試みています。この一部として、コンテナーの現在のサイズを報告する必要があります。私はこれを行う関数を書きました(以下)。それはクロムでうまく機能します...しかし、Firefoxでは幅が報告されません。私はoffsetWidthメソッドについて読んだことがあり、理論的にはFirefoxで動作するはずです。

function currentBoxW() {
    return document.getElementById("wrapper").offsetWidth;
}

このレポートはすべて「NaN」です。

実際のページにはさらに多くの機能がありますが、すべての追加コードはテストのためにコメントアウトされています...これは、レポートを実行する実際の行です。

私は何かを見逃していましたか、それとも JS と DOM を使用して幅を報告するよりスマートな方法はありますか? div の幅を取得する別の方法はありますか?

ありがとう。

4

1 に答える 1

1

次の 2 つの問題が発生する可能性があります。

  1. CSS を介して要素 (ラッパー) の幅を明示的に設定していることを確認してください。
  2. ドキュメントの準備ができたら、JavaScript コードが実行されていることを確認してください。 window.onload()または他のJavaScriptライブラリを使用している場合は同様のもの

代わりにjqueryを使用できる場合は、次を使用して簡単に取得できます

$(document).ready(function(){ 
  function currentBoxW() {
    return $('#wrapper').width();
    or 
    return $('#wrapper').innerWidth(); //depending on the requirement. 
  }

}); 
于 2013-04-10T16:34:58.350 に答える