Есть функция проверки сообщений: [js] function show(){ var a=$.cookie("ids"); $.ajax({ url: "post.php", cache: false, type: "GET", data: {ids: a}, success: function(html){ $("#otvet").html(html); setTimeout(function(){ //самовызов show(); }, 5000); } }); if(!$("#otvet").val()){andisabled();} } [/js] Как остановить выполнение функции при невыполнении условия?
Отмена выполнения Вы можете отменить выполнение setTimeout при помощи clearTimeout, используя для этого идентификатор таймаута. Пример: var timeout_id = setTimeout(...) clearTimeout(timeout_id)
то есть вот так? function show(){ var a=$.cookie("ids"); $.ajax({ url: "post.php", cache: false, type: "GET", data: {ids: a}, success: function(html){ $("#otvet").html(html); var timeout_id = setTimeout(function(){ //самовызов show(); }, 5000); } }); if(!$("#otvet").val()){andisabled(); clearTimeout(timeout_id);} }
Короче надо чтобы при получении ответа, функция останавливалась. А можешь по подробнее, а то я не понял
ответ вписывается не пользователем, а приходит с сервера. Вот и надо чтобы при приходе ответа, функция останавливалась
[js]function show(){ var timeout_id = setTimeout(function(){ //самовызов $("#otvet").html('blabla'); }, 5000); var a=$.cookie("ids"); $.ajax({ url: "post.php", cache: false, type: "GET", data: {ids: a}, success: function(html){ $("#otvet").html(html); clearTimeout(timeout_id); } });}[/js]