如何解决更新在线计数器而无需重新加载页面
请帮帮我。我的网站上有一个脚本显示(GTA服务器上的在线播放器计数器),页面加载时,它从零开始到网站上的播放器数量。 [验证码] [1] [1]:https://i.stack.imgur.com/5gkkX.jpg
var updateInterval = 700;
_timer = setInterval(updatePlayerCount,updateInterval);
function ShowCounter() {
clearInterval(_timer);
$('#online').each(function() {
$(this).prop('Counter',0).animate({
Counter: $(this).text()
},{
duration: 4000,easing: 'swing',step: function(now) {
$(this).text(Math.ceil(now));
}
});
});
}
function updatePlayerCount() {
var ip = "rage2.grand-rp.su:22005";
$.getJSON('https://cdn.rage.mp/master',function(masterlist) {
if(masterlist[ip] != undefined){
document.getElementById('online').innerHTML = masterlist[ip].players;
ShowCounter();
}
});
}
我有一个_timer,它应该在不重新加载页面的情况下更新数字,但是某种程度上它是行不通的。如何解决?我将其发布在jsfiddle https://jsfiddle.net/kg8uap9d/8/
上解决方法
使用setTimeout代替setInteval
var updateInterval = 5000;
_timer = setTimeout(updatePlayerCount,updateInterval);
function updatePlayerCount() {
var ip = "rage2.grand-rp.su:22005";
$.getJSON('https://cdn.rage.mp/master',function(masterlist) {
if(masterlist[ip] != undefined){
document.getElementById('online').innerHTML = masterlist[ip].players;
ShowCounter();
_timer = setTimeout(updatePlayerCount,updateInterval);
}
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。