在jquery中创建函数循环

在jquery中创建函数循环,jquery,Jquery,我有这个代码,它工作得很好。当倒计时为0时,它调用刷新函数。但是,在刷新功能完成后,我希望倒计时再次在1:00开始。我不能调用倒计时函数,因为它在主onload函数中。将另一个函数放在$(function(){}中并调用它是正确的解决方案吗 var interval = null; // COUNTDOWN TIMER $(function() { var start = "1:00"; interval = setInterval(function() { var timer

我有这个代码,它工作得很好。当倒计时为0时,它调用刷新函数。但是,在刷新功能完成后,我希望倒计时再次在1:00开始。我不能调用倒计时函数,因为它在主onload函数中。将另一个函数放在
$(function(){}
中并调用它是正确的解决方案吗

var interval = null;

// COUNTDOWN TIMER
$(function() {
  var start = "1:00";
  interval = setInterval(function() {
    var timer = start.split(':');
    var minutes = parseInt(timer[0], 10);
    var seconds = parseInt(timer[1], 10);
    --seconds;
    minutes = (seconds < 0) ? --minutes : minutes;
    if (minutes < 0) {
      refresh();
    } else {
      seconds = (seconds < 0) ? 59 : seconds;
      seconds = (seconds < 10) ? '0' + seconds : seconds;
      $('.countdown').html(minutes + ':' + seconds);
      start = minutes + ':' + seconds;
    }
  }, 1000);
});

// MY REFRESH FUNCTION
function refresh() {
  clearInterval(interval);
  $('.countdown').html("Refreshing");
}
var区间=null;
//倒数计时器
$(函数(){
var start=“1:00”;
间隔=设置间隔(函数(){
var timer=start.split(“:”);
var minutes=parseInt(计时器[0],10);
var seconds=parseInt(计时器[1],10);
--秒;
分钟=(秒<0)?--分钟:分钟;
如果(分钟<0){
刷新();
}否则{
秒=(秒<0)?59:秒;
秒=(秒<10)?“0”+秒:秒;
$('.countdown').html(分钟+':'+秒);
开始=分钟+':'+秒;
}
}, 1000);
});
//我的刷新功能
函数刷新(){
间隔时间;
$('.countdown').html(“刷新”);
}

只需命名整个例程,您就可以随意调用它:

var间隔,
runCountdown=函数(){
var start=“0:11”;
间隔=设置间隔(函数(){
var timer=start.split(“:”),
分钟=parseInt(计时器[0],10),
秒=parseInt(计时器[1],10);
--秒;
分钟=(秒<0)?--分钟:分钟;
如果(分钟<0){
刷新();
}否则{
秒=(秒<0)?59:秒;
秒=(秒<10)?“0”+秒:秒;
$('.countdown').html(分钟+':'+秒);
开始=分钟+':'+秒;
}
}, 1000);
},
刷新=函数(){
间隔时间;
$('.countdown').html(“刷新…”);
运行倒计时();
};
$(函数(){
运行倒计时();
});
。倒计时{
字体大小:3rem;
显示器:flex;
证明内容:中心;
}


将文档内容放在一个单独的方法中准备就绪。从文档就绪中调用该方法,然后“刷新”@Taplar谢谢,我会尝试不客气。顺便说一句,您不需要将间隔初始化为
null
。无值声明就足以使其在该上下文中可用(当您在函数中更改它时,它会更新,因为它们都引用同一个对象)。