22

マージンとパディングを含むコンテナー要素の高さが必要です。

Chrome 開発ツールの要素にカーソルを合わせると、探している値が得られますが、 jQuery を使用すると$('element').outerHeight(true); 私ははるかに小さい値を取得します。

要素には jQuery カルーセルが含まれています (position:relativeおよび itemsのコンテナー内position: absolute)。これは何か関係があるのでしょうか?

前もって感謝します

4

11 に答える 11

9

私も同じ問題を抱えていました。setTimeoutを使用して少し待つことで、Chrome で正しい高さを取得します。

    setTimeout ( function () {
        var ht = $('.my-class').outerHeight( true );
    }, 1);

それが役立つことを願っています!

于 2013-02-18T06:57:52.997 に答える
6

私は同じ問題に遭遇しました。

console.log経由のFirefoxのouterheight: 430 console.log経由のChromeのouterheight: 477

実際のアウターハイト (firebug レイアウト): 820

Firebug を開くかステータスバーを削除すると、console.log に正しい値 (820) が設定されます (したがって、コードは正常に機能します)。

問題は画像が原因でした。ドキュメントの準備ができている状態で実行していても、すべての画像がまだ読み込まれていない可能性があるため、計算が間違っています。

desandro のプラグインを使用していますが、問題は解決しました。 https://github.com/desandro/imagesloaded

于 2013-02-03T11:15:35.763 に答える
4

私はあなたが必要かもしれないと思う

.outerHeight({margin: true});

ここに従って:

マージンを true に設定してオプション マップを渡すことで、マージンを含めることができます。

于 2012-04-22T14:45:12.563 に答える
0

docsによると、outerHeight次の場合は正確であるとは限りません。

  • ページはズームされています
  • 要素またはその親が隠されている
于 2018-04-21T21:16:45.763 に答える
0

これらのソリューションをすべて試しました。最後にインスペクタを開いて、pまだmargin-top. いつもありがとう ノーマライズ...

于 2016-02-24T05:50:43.043 に答える