Подождите, когда элемент не пуст - PullRequest
0 голосов
/ 07 мая 2020

У меня проблема с тайм-аутом при загрузке элемента в div. То есть когда он не будет пустым

Это моя функция

function myFunction() {
     var str = $( "#check_weight" ).text();
     str=str.replace(/\s+$/, '');
     var res = str.split(" ");
    console.log(res);
    for ( var i = 0, l = res.length; i < l; i++ ) {
        weight=parseFloat(res[ i ]);
        console.log(weight);
        if (weight<30){
              $(".deliveryMethodContainer:eq(1)").hide();
        }

    }
}

setTimeout(myFunction, 5000);  

Почему так. Страница Couse загружает некоторую информацию из новых старых в магазине. А контейнер со всей старой информацией не отображается. Когда вся информация загружена, элемент с классом .checkoutLoading изменен на отображение none, а контейнер с информацией удален display: none

Итак, что я ищу. Как я могу проверить элемент .checkoutLoading , когда он будет отображать: none или, возможно, совершенная проверка, когда мой div: # check_weight не является пустым, когда документ готов, это пустой источник couse магазин загружает его

Наконец, мне нужно запустить эту функцию, когда .checkoutLoading не отображаются или когда # check_weight не будет пустым

Время истекает плохая идея, когда информация загрузится через 6 секунд c div # check_weight будет пустым

EDIT:

Что вы думаете об этом:

var interval = setInterval(function () {
        if ($('.checkoutLoading').is(':hidden')) {
            console.log('DONE')
            check_weight();  
            clearInterval(interval);
        }
    },
    100 // 0.1 second (wait time between checks)
);



    function check_weight() {
         var str = $( "#check_weight" ).text();
         str=str.replace(/\s+$/, '');
         var res = str.split(" ");
        console.log(res);
        for ( var i = 0, l = res.length; i < l; i++ ) {
            weight=parseFloat(res[ i ]);
            console.log(weight);
            if (weight<30){
                  $(".deliveryMethodContainer:eq(1)").hide();
            }

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...