adik7960,
Вариант...для наглядности задержка 5сек
var timerId, n, flag;
function em(a) {
flag ? n = a : (alert(a), n = !1, flag = !0,
timerId = setTimeout(function () {
flag = !1;
n && em(n)
}, 5000))
};
em(1);//функция сработает без задержки в 5сек.
em(2);//выполнится но только после того как пройдет 5сек.
// пример с игнором setTimeout для того чтобы не дублировать код выше
setTimeout(function () {
em(1);//функция сработает без задержки в 5сек.
em(2);// не выполнится по причине замены строкой ниже
em(3);//выполнится но только после того как пройдет 5сек.
}, 15000)