奇妙な状況jQueryの機能をロードする方法:のみ文書仕上げ負荷後
私はjQuery
とCSS
を使用してメニューバーを構築しています。私は、いくつかの理由...
function mark_active_menu() {
var elementWidth = $("nav li").width();
alert(elementWidth);
}
$(document).ready(function(e) {
mark_active_menu();
}
と前でもすべて文書仕上げロードを:私のJavaScriptファイルで
は、私がon-ready
機能とても似ていアラートメッセージの幅が正しくない。私がメッセージをリリースしたときだけ、ドキュメントの残りの部分がロードされ、正しい幅が得られるはずです。
すべてのドキュメントが読み込まれる前に私の関数が呼び出されているのはなぜですか? 特定の要素のロードが完了した後にのみ関数をロードする方法はありますか(例:nav
要素)?
あなたはAJAXを使用して文書の一部をロードしていますか? –
'$(window).on( 'resize'、fn)'や '$(window).on( 'load'、fn)'にフックできます。 –
また、 'ready()'メソッドはeventObjectではなく、jQueryオブジェクト自体に渡されます。 –