Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Таймер срабатывает неправильно, почему? (https://javascript.ru/forum/jquery/39904-tajjmer-srabatyvaet-nepravilno-pochemu.html)

jeysmook 16.07.2013 18:06

Таймер срабатывает неправильно, почему?
 
На сайте, есть регистрация, редактирование данных, и т.д. Все это сделано на аякс, и когда получает ответ от сервера, то запускаем функцию Mess(), и сражу же новый таймер, setTimeout(function() { CloseMess() }, 5000). Но по каким-то причинам таймер срабатывает, то нормально, то мгновенно, то пройдет 3 сек., а не 5 сек. Подскажите в чем причина?
function Mess(mess) {
// Код который показывает блок с сообщением. И тут стоит счетчик, который вызывает функцию CloseMess().
setTimeout(function() { CloseMess() }, 60000);
}
function CloseMess() {
//Закрывает блок с сообщением.
}

vadim5june 16.07.2013 19:52

правильно должен срабатывать
<button onclick=f()>click</button>
<script>
function f(){var d=new Date();setTimeout(function(){f1(d)},5000)};
function f1(d){var d1=new Date();alert(d1-d);};
</script>

jeysmook 17.07.2013 02:02

vadim5june,
Не знаю смысл такой-же, а эффекты разные, у меня срабатывает по разному. Может быть из-за аякса?

danik.js 17.07.2013 05:58

Цитата:

Сообщение от jeysmook
Может быть из-за аякса?

Нет, это все из-за магнитных бурь, у меня такая же фигня наблюдается.

jeysmook 17.07.2013 18:56

danik.js, а если серьёзно, как с этим бороться?

danik.js 17.07.2013 20:27

Может ты функцию несколько раз подряд запускаешь? Учись отлаживать код блин.

jeysmook 19.07.2013 09:53

danik.js, спасибо за наводку. Посмотрел, все равно не работает нормально. Может быть от того, что запускается на сайте несколько таймеров?


Часовой пояс GMT +3, время: 16:22.