我有一个图表,它将每5秒更新一次,以显示有多少用户进入了建筑物,并且用户可以选择每层楼的用户数量。这也是每5秒更新一次
下面是我的代码,让用户进入建筑物
var interval = 5000;
function get_Users() {
var users= $.ajax({
type: 'POST',
url: '<?php echo base_url('index.php')?>/building/feed',
data: $(this).serialize(),
success: function (users) {
$('.current').html(users);
},
complete: function (users){
setTimeout(get_Users, interval);
}
});
}
setTimeout(doFeed, interval);
下面的用于获取每层楼的用户
$(document).on('change','.floor',function(){
$.ajax({
url: 'floor/chart',
type: 'post',
data: asset,
dataType: 'json',
success: function (users) {
$(".current").html(users.floor);
},
});
});
我需要做的是成功更改后,每隔5秒发布并获取图表值。
怎么办呢?任何帮助将不胜感激。
答案 0 :(得分:2)
你可以通过为change
处理程序创建一个命名函数并在第一个函数完成后触发timeout
函数,就像你为代码中的其他函数完成它一样。
$(document).on('change','.floor',changeFloorHandler);
function changeFloorHandler() {
$.ajax({
url: 'floor/chart',
type: 'post',
data: asset,
dataType: 'json',
success: function (users) {
$(".current").html(users.floor);
},
complete: function (users){
setTimeout(changeFloorHandler, interval);
}
});
}
注意:我建议您在代码中使用通用ajax
函数,其中包含callback
timeout
函数引用的自定义参数,而不是多个函数定义,以避免多余代码。