Не могу обернуть голову вокруг этого?
ПОЧЕМУ ЭТО, ЧТО МОЙ:
. Вся петля проходит прямо, несмотря на то, что я затормаживаю вещи на 1000 мс за цикл?
Проблема в том, что команда window.location.href работает Досрочно до SetTimeout закончил? То же самое для функции stopload(), которая также заканчивается раньше? Я видел что-то о рекурсивных функциях setTimeout, что нужно здесь и как это реализовать?Запретить запуск JS-кода, прежде чем функция завершится
function shop(clickedButton)
{
var buttonvalue = $(clickedButton).val();
startLoad();
pdel = 1000;
$("input:submit[value='buy']").each(function(index)
{
if(index != 1)
{
$("#backgroundPopup").text(index);
var submithing = this;
setTimeout(function(){ clicksubmitbutton(submithing); },pdel);
pdel += 1000;
}
});
stopLoad();
if(buttonvalue == "1")
{
window.scrollTo(0,0);
}
else
{
window.location.href = 'http://my.url';
}
}
'setTimeout' ничего не заглохнуть. Вы просто скажете, что JavaScript выполнит что-то в будущем, * после того, как * завершение текущего скрипта завершено. Если вы хотите выполнить что-то после таймаута, вы должны поместить его в/звонок из таймаута. –