具有特定计时器值的数字的增量值
increment value of a number with a specific timer-value
我试过并环顾四周,但找不到类似的东西。
<div> <span>23</span>/ 30 </div>
我的想法是,我希望 23 每 15 秒增加 1 个值。
并且当它达到30时,它将停止计数。我不知道如何让它 "stop" 计数以及我应该如何处理这样的问题。
如有任何帮助,我们将不胜感激!
如果像这样将 class 添加到 span 元素中:
<div> <span class="counter">23</span>/ 30 </div>
那么这个 javascript 代码就可以工作了:
var currentCount = parseInt($('.counter').text());
var increaseCount = function() {
if (currentCount < 30) {
currentCount = currentCount + 1;
$('.counter').text(currentCount);
setTimeout(increaseCount, 15000);
}
return;
};
setTimeout(increaseCount, 15000);
这是一个定时器设置为秒的例子:
https://jsfiddle.net/aqe43oLa/1/
这是一个可能的解决方案,请注意,我在演示中每秒进行一次迭代,但您可以通过执行 setTimeout(count,15000);
来降低速率。
var wrapper, value, timer;
window.addEventListener('load', startCounter, false);
function startCounter(){
document.querySelector('button').onclick = startCounter;
wrapper = document.querySelector('span');
value = 22;
count();
}
function count(){
clearTimeout(timer);
value++;
wrapper.innerHTML = value;
if(value < 30){ timer = setTimeout(count,1000); }
}
<div> <span>23</span>/ 30 </div>
<button>reset</button>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
var i = 24;
var timer=setInterval( increment, 15000);
function increment(){
if(i<=30)
{
console.log(i);
$('.increase').html('').append(i);
i++;
}
else
{
clearInterval(timer);
}
}
</script>
</head>
<body>
<div><span class="increase">23</span>/ 30 </div>
</body>
</html>
<div id="show"></div>
<script>
function timer(){
var i = 0;
setInterval(function(){
i++;
document.getElementById("show").innerHTML = i;
if(i > 30){
i = 0;
}
},1000);
}
timer();
</script>
//就是超级简单希望能有所启发谢谢
我试过并环顾四周,但找不到类似的东西。
<div> <span>23</span>/ 30 </div>
我的想法是,我希望 23 每 15 秒增加 1 个值。
并且当它达到30时,它将停止计数。我不知道如何让它 "stop" 计数以及我应该如何处理这样的问题。
如有任何帮助,我们将不胜感激!
如果像这样将 class 添加到 span 元素中:
<div> <span class="counter">23</span>/ 30 </div>
那么这个 javascript 代码就可以工作了:
var currentCount = parseInt($('.counter').text());
var increaseCount = function() {
if (currentCount < 30) {
currentCount = currentCount + 1;
$('.counter').text(currentCount);
setTimeout(increaseCount, 15000);
}
return;
};
setTimeout(increaseCount, 15000);
这是一个定时器设置为秒的例子: https://jsfiddle.net/aqe43oLa/1/
这是一个可能的解决方案,请注意,我在演示中每秒进行一次迭代,但您可以通过执行 setTimeout(count,15000);
来降低速率。
var wrapper, value, timer;
window.addEventListener('load', startCounter, false);
function startCounter(){
document.querySelector('button').onclick = startCounter;
wrapper = document.querySelector('span');
value = 22;
count();
}
function count(){
clearTimeout(timer);
value++;
wrapper.innerHTML = value;
if(value < 30){ timer = setTimeout(count,1000); }
}
<div> <span>23</span>/ 30 </div>
<button>reset</button>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
var i = 24;
var timer=setInterval( increment, 15000);
function increment(){
if(i<=30)
{
console.log(i);
$('.increase').html('').append(i);
i++;
}
else
{
clearInterval(timer);
}
}
</script>
</head>
<body>
<div><span class="increase">23</span>/ 30 </div>
</body>
</html>
<div id="show"></div>
<script>
function timer(){
var i = 0;
setInterval(function(){
i++;
document.getElementById("show").innerHTML = i;
if(i > 30){
i = 0;
}
},1000);
}
timer();
</script>
//就是超级简单希望能有所启发谢谢