Вы должны использовать функцию callback , предоставляемую методом .load
.Эта функция предназначена для обработки кода после завершения запроса.
$( "#result" ).load( "ajax/header.html", function() {
var height = $('header').height();
console.log(height);
});
Если предоставляется «полный» обратный вызов, он выполняется после постобработки и вставки HTML.Обратный вызов запускается один раз для каждого элемента в коллекции jQuery, и это устанавливается для каждого элемента DOM по очереди.
http://api.jquery.com/load/#callback-function
Как отмечено в комментариях, вы хотите использовать height
переменную вне функции.В качестве решения этого вы можете создать функцию, которую вы передаете функции обратного вызова.
$( "#result" ).load( "ajax/header.html", function() {
var height = $('header').height();
// Call function
do_something_with_header( height );
});
// Call this function in your load callback
function do_something_with_header( height ) {
console.log( height );
}