Окно jquery при загрузке не выполняется

Я использую jquery для переключения анимации загрузчика при загрузке страницы: когда загружается страница (текст и изображения), над страницей отображается div, содержащий анимацию загрузчика. Когда страница полностью загружена, div с загрузчиком отключается.

<div class="loader">
    <div class="cssload-speeding-wheel"></div>
</div>
$(document).ready(function(){
    $(window).on('load',function() {
        $('.loader').hide();
    });

    // Other things...
});

и это работает в первый раз, когда вы открываете страницу, но во второй раз, когда изображения уже кэшированы, $(window).on('load',...) не выполняется (я думаю, потому что изображения загружаются быстрее перед document.ready) и, следовательно, загрузчик не отключается.

P.S. Я заметил это во время тестирования на Android с Chrome, на моем ПК эта проблема не отображается.

У кого-нибудь есть идея решить эту проблему?


person Ivan Taccadoli    schedule 21.03.2020    source источник
comment
это связано с тем, что при первом посещении веб-страницы ваш браузер сохраняет изображения до тех пор, пока вы его не закроете. В следующий раз, когда вы откроете страницу, изображения уже будут загружены.   -  person    schedule 21.03.2020
comment
Я тестировал на хромированном Iphone, и он работает, вы проверяли, что вызывается готовый документ, а загрузка окна не вызывается каким-либо предупреждением или console.log?   -  person Van Tho    schedule 21.03.2020
comment
Когда $(document).ready() уволен, $(window).on('load') уже был уволен. Возьмите второе событие из .ready().   -  person Ivanka Todorova    schedule 21.03.2020
comment
да он прав   -  person    schedule 21.03.2020


Ответы (2)


Исправлено с этим кодом

$(window).on('load',function() {
    $('.loader').hide();
});

$(document).ready(function(){


    // Other things...
});
person Ivan Taccadoli    schedule 21.03.2020

Вот что вам нужно использовать:

    $('.loader').hide();
});

$(document).ready(function(){


    // Other things...
});```
person 1poo    schedule 21.03.2020