Мой интервал не останавливается, когда я нажимаю кнопку отправки, а затем начинаю интервал после этого.Интервал не останавливается при нажатии кнопки
Я создаю чат-систему, которая должна перезагружать чат снова и снова, но сообщение отправки ОЧЕНЬ медленно, когда перезагрузка чата запущена, поэтому она должна прекратить перезагрузку чата при запуске сообщения, а затем снова начать снова.
Сценарий:
<script>
$(document).ready(function(){
function auto_load(){
$.ajax({
url: "index.php?url=userchat1&id=1",
cache: false,
success: function(data){
$("#chatdiv").html(data);
}
});
}
auto_load();
//Refresh auto_load() function after 500 milliseconds
var myVar = setInterval(function(){ auto_load() }, 500);
$('#beskedform').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'index.php?url=chatsubmit&id=1',
data: $('#beskedform').serialize(),
success: function() {
$("#msg").attr('value','');
$("#msg").removeAttr('disabled');
$("#msgbutton").removeAttr('disabled');
var myVar = setInterval(function(){ auto_load() }, 500);
}
});
clearInterval(myVar);
$("#msg").attr('disabled','disabled');
$("#msgbutton").attr('disabled','disabled');
});
});
</script>
HTML:
<form id="beskedform">
<textarea name="msg" id="msg" class="form-control content-group" rows="3" cols="1" placeholder="Skriv din besked..."></textarea>
<div class="row">
<div class="col-xs-6">
</div>
<div class="col-xs-6 text-right">
<button type="submit" id="msgbutton" class="btn bg-teal-400 btn-labeled btn-labeled-right"><b><i class="icon-circle-right2"></i></b> Send</button>
</div>
</div>
</form>
'myVar' внутри обратного вызова успеха является слежка внешний' myVar'. Это две разные переменные. – elclanrs
Как исправить тай? – TechTimeGames
@elclanrs говорит правду. Удалить ключевое слово var при успешном обратном вызове –