Задать вопрос
AlibekKulseitov
@AlibekKulseitov
Люблю верстать и писать музыку

Браузер жалуется на jquery?

Код очень прост

$(window).load(function(){
    let preloader = $('.preloader');

    setTimeout(function() {
        if (!preloader.classList.contains('preloader_hidden')) {
            preloader.classList.add('preloader_hidden');
        }
    }, 2000);
});


Но почему-то выходит ошибка
jquery.min.js:2 Uncaught TypeError: e.indexOf is not a function
    at w.fn.init.w.fn.load (jquery.min.js:2)
    at scripts.js:9
  • Вопрос задан
  • 494 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
Попробуйте вместо
.classList.contains - .hasClass()
и вместо .classList.add - .addClass()

Также let может не работать в некоторых браузерах, лучше использовать var

Т.е. должно быть что-то вроде этого:
$(window).load(function(){
    var preloader = $('.preloader');

    setTimeout(function() {
        if (!preloader.hasClass('preloader_hidden')) {
            preloader.addClass('preloader_hidden');
        }
    }, 2000);
});


Также, если нужно сделать переключатель класса (добавить, если нет или удалить, если есть), то можно использовать toggleClass()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы