jQuery counter from specified variables

jQuery counter from specified variables

本文关键字:variables specified from counter jQuery      更新时间:2023-09-26

如果我的变量低于

$(document).ready(function() {
    var minsecond = 1;
    var maxseconds = 4;
    var updateinterval = 1;
    var interval = updateinterval*1000;
    window.setInterval(function(){
    var currentseconds = ; //value increasing by 1 every var updateinterval (value) in seconds  from var minsecond value until it reaches var maxseconds and resetting to var minsecond value and cycling again
    $("span").html(currentseconds);
    }, interval);
});
​

如何创建一个计数器,该计数器从值var minsecond开始,每隔var updateinterval在几秒钟内递增1到值var maxsecond,然后在var minsecond重新启动http://jsfiddle.net/TnNhA/

我想下面这样的东西就是你想要的,

演示

$(document).ready(function() {
    var minsecond = 1;
    var maxseconds = 4;
    var updateinterval = 1;
    var interval = updateinterval*1000;
    var currentseconds = minsecond;
    window.setInterval(function(){
        if (currentseconds > maxseconds ) {
             currentseconds = minsecond;
        }
        $("span").html(currentseconds++);
    }, interval);
});

这个怎么样:

var maxseconds = 4;
var updateinterval = 1;
var interval = updateinterval * 1000;
var counter = 1;
window.setInterval(function() {
    $("span").html(counter);
    counter = (counter % maxseconds == 0) ? 1 : counter + 1;
}, interval);​

jsFiddle示例

这样的东西适合你吗?

var currentseconds = 0;
setInterval(yourFunction(), interval);
function yourFunction() {
  if (minsecond >= maxsecond) {
    currentseconds = minsecond;
  }
  else {
    currentseconds++;
  }
  $("span").html(currentseconds);
}

设置一个测试来检查currentseconds是否达到您的maxsecond var,将其重置。

这应该做到。棘手的部分是间隔,因为它是可变的。在我的回答中,我假设你不是按整数递增,而是按区间数递增。希望这也是你的想法。

http://jsfiddle.net/Vfnjh/1

$(document).ready(function() {
    var minsecond = 1;
    var maxseconds = 4;
    var updateinterval = 1;
    var interval = updateinterval * 1000;
    var currentseconds = minsecond;
    window.setInterval(function() {
        currentseconds += updateinterval;
        if (currentseconds > maxseconds) {
            currentseconds = minsecond;
        }
        $("span").html(currentseconds);
    }, interval);
});​