jQuery - не удалось получить высоту заголовка, который загружается из другого файла с помощью метода load () - PullRequest
0 голосов
/ 11 февраля 2019

Я новичок в jQuery.На самом деле я хочу получить высоту моего заголовка, который исходит из другого файла.Я использовал метод load () для отображения моего заголовка.Я попробовал некоторый код, чтобы получить высоту.Но это не сработало.Таким образом, получить высоту можно здесь?Пожалуйста, помогите мне.Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 11 февраля 2019

Вы должны использовать функцию 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 );
}
0 голосов
/ 11 февраля 2019

создать глобальную переменную и назначить для использования сторонней функции

0 голосов
/ 11 февраля 2019

Предполагая, что ваш заголовок имеет атрибут id myHeader:

$( "#result" ).load( "ajax/test.html");
    setTimeout(function(){
        var height = $('#myHeader').height();
        alert(height);
    },200);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...