Вы не хотите «задерживать» код, потому что он заблокирует поток браузера, делая весь ваш браузер непригодным для использования до истечения времени ожидания вашего скрипта.
Вы можете настроить события, которые прослушивают сигнал, запущенный через некоторое время. jQuery .bind()
и .trigger()
- это то, что вы хотите http://api.jquery.com/trigger/
Или вы можете использовать функцию обратного вызова для работы с данными, которые вы хотите, после истечения времени. Так что, если вы хотели быть таким:
function myFunc() {
doStuff();
result = delayProcess(5000);
$('#result').html(result);
}
function delayProcess(delay) {
// magic code that delays should go here
return logic;
}
Должно быть что-то вроде этого:
function myFunc() {
doStuff()
delayProcess(5000, function(result){ // Notice the callback function pass as an argument
$('#result').html(result);
});
}
function delayProcess(delay, callback) {
result = logic;
setTimeout(function(){
callback(result);
});
}