scrollHeight и clientHeight равны 0 JS

182
10 августа 2021, 16:40
function addButton(i) {
    let scrollHeight = budgetBox[i].scrollHeight,
        height = budgetBox[i].clientHeight;
    if ( height < scrollHeight - 6) {
        more[i].style.display = 'block';
    } else {
        more[i].style.display = 'none';
    }
}

Такой странный баг у меня... Есть функция, которая срабатывает после добавления категории в блок с конкретной высотой, если высота блока совпадает с высотой его прокрутки, тогда кнопка "ещё" удаляется, если же высота прокрутки больше высоты блока, тогда кнопка появляется. Первые 2 проверки (выполнения функции) при загрузке сайта работают хорошо, но после срабатывания функции добавления новой категории в блок и после callbacka'а интересующей меня функции, оба параметра высоты почему-то становятся равны нулю. Я чего то не понимаю, или, при обновлении DOM-контента при помощи JS, высота блока теряется?

Answer 1

Спасибо Air за совет про setInterval, только у меня организация кода такова, что это не сработало.

В общем, если у вас возникла такая же проблема, то поставьте функцию с проверкой DOM-контента после всех других функций, связанных с изменениями этого самого контента.

Типо чтобы было не так

function() {
     check(...); //интересующая нас функция
     add(...);
     move(...);
}

А так:

function() {
        add(...);
        move(...);
        check(...); //интересующая нас функция
}
READ ALSO
Кэширование внешних API в Angular PWA и окружение

Кэширование внешних API в Angular PWA и окружение

Можно ли при использовании @angular/pwa кэшировать внешние API (домен приложения и API не совпадает)Если да то каким образом должна выглядеть коyфигурация...

205
Ошибка 422 при работе с fetch

Ошибка 422 при работе с fetch

Не понимаю, почему вылетает ошибка 422Вот мой код для запроса:

110
Микроразметка shema.org в MODX Revolution

Микроразметка shema.org в MODX Revolution

Подскажите пожалуйста такой моментЯ добавляю микроразметку, но валидатор требует чтобы у каждой крошки был мета-тег position (<meta itemprop="position"...

107
как добавить слэш в конец URL адреса

как добавить слэш в конец URL адреса

не получается добавить слеш в конце url

113