У меня проблема с тайм-аутом при загрузке элемента в 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();
}
}
}