2013-03-15 83 views
1

我想在页面加载时自动将计数器从0移动到给定值。最近我找到了一个,但它与按钮点击。在JavaScript中自动递增计数器

var amount=parseInt($('#amount').val()); 
var i = parseInt($('#count').val()); 
var tim; 

function run(){ 
    tim = setInterval(function(){ 
     if(i>=amount){clearInterval(tim); return;} 
     $('#count').val(++i); 
    },100);   
} 

$('#runner').click(function(){   
    run(); 
}); 

SEE >>JS fiddle DEMO

另外我想补充的是一个复位按钮,将再次从0上每一次点击运行它。

+0

答案就在你的标题。在页面加载时调用它。大声笑 – epascarello 2013-03-15 12:43:18

回答

3

这里is Updated Jsfiddle Demo

HTML:

<input type="hidden" value="10000" id="amount"/> 
<input type="text" value="0" id="count"/> 
<input type="button" value="Start" id="starter"/> 
<input type="button" value="Stop" id="stopper"/> 
<input type="button" value="reset" id="resetter"/> 

脚本:

<script type="text/javascript"> 
    var amount=parseInt($('#amount').val()); 
    var i = parseInt($('#count').val()); 
    var tim; 

    function run(){ 
     tim = setInterval(function(){ 
      if(i>=amount){clearInterval(tim); return;} 
      $('#count').val(++i); 
     },100);   
    } 
    run(); 

    $('#stopper').click(function(){   
     clearInterval(tim); 
    }); 

    $('#resetter').click(function(){  
    clearInterval(tim);  
    i=0; 
    $('#count').val(i); 
    run(); 
    }); 

    $('#starter').click(function(){   
     clearInterval(tim); 
     run(); 
    }); 
</script> 
+0

重置无法正常工作。 – 2013-03-15 12:59:59

+0

立即查看代码更新 – 2013-03-15 13:52:00

+0

感谢它的工作;我还在复位中包含了run()函数,现在它在复位后从0自动运行。 – 2013-03-15 14:47:08

2

使用文档准备:

$(document).ready(function() { 
    run(); 
}); 

可以通过分配count重置计数器为0

<input id="resetCount" type="button" /> 

function reset() { 
    $('#count').val(0); 
} 

$("#resetCount").click(function() { 
    reset(); 
}); 
0

你可以调用一个函数的onload,你可以在那里做

<script> 
    run(); 
</script> 

run()函数将在页面加载时调用。

0

只需拨打您的run方法在文件准备:

$(document).ready(function() { 
    run(); 
});