3

を使用する$(document).ready(function() {...}と、DOMの準備ができた後、CSSスタイルが読み込まれる前に関数が呼び出されます。

要素の幅を取得したいのですが、ready()イベント内で取得しようとすると、返される値がCSS値と一致しません。ただし、タイマーを使用して10秒後にこの関数を呼び出すと、意図したとおりに機能します。

では、jQueryでCSSレンダリングを聞く方法はありますか?

ありがとうございました

4

2 に答える 2

11
$(window).bind("load", function() {
   // code here
});
于 2012-10-27T12:47:13.043 に答える
-1

最初の投稿を完了するために、JSFフレームワーク(Mojarra)+PrimeFacesコンポーネントを使用します。私のすべてのJSはこれです:

$(document).ready(function() {      
    alert("parent : " + $("#j_idt14\\:panelGrid label").parent().css("width"));

    window.setInterval(function(){alert("parent : " + $("#j_idt14\\:panelGrid label").parent().css("width"));}, 5000);

});

そして私は416pxを取得し、5秒後に522pxが続きます。

私は次のようにJSF経由でJSスクリプトを呼び出しています:

<h:outputStylesheet name="styles/styles.css" />

そして...それだけです。理解できない

于 2012-10-27T12:52:33.117 に答える