Так как вы используете jQuery mobile, перейдите на
.delay()
от jQuery. http://api.jquery.com/delay/
Существует также другой вопрос , подобный этому. Осторожно, документация jQuery гласит:
Метод .delay () лучше всего подходит для задержки между поставленными в очередь jQuery
последствия. Потому что он ограничен - он, например, не предлагает
отменить задержку - .delay () не является заменой нативному JavaScript
функция setTimeout, которая может быть более подходящей для определенного использования
случаи.
Вот пример из документа jQuery
<!DOCTYPE html>
<html>
<head>
<style>
div { position: absolute; width: 60px; height: 60px; float: left; }
.first { background-color: #3f3; left: 0;}
.second { background-color: #33f; left: 80px;}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p><button>Run</button></p>
<div class="first"></div>
<div class="second"></div>
<script>
$("button").click(function() {
$("div.first").slideUp(300).delay(800).fadeIn(400);
$("div.second").slideUp(300).fadeIn(400);
});
</script>
</body>
</html>