javascript - 计数器应无限期运行,直到单击停止按钮,该按钮应返回已设置的值
问题描述
我正在尝试创建像 10 个盒子一样单独计数的数字计数器。单击“开始计数”按钮时,我希望每个圆圈中的计数器从 0 到 9 无限期地计数,直到单击“停止计数”按钮。单击“停止计数器”按钮时,我想返回 HTML 中的指定值。例如,我希望框中显示的数字是设置值(即 785368,如下面的 HTML 代码所示)。
在很少的帮助下,我已经能够在所附的笔中进行创作。https://codepen.io/anon/pen/JeByaQ
$("#startCount").on("click", function (evt) {
$('.count').each(function () {
$(this).prop('Counter',0).animate({
Counter: $(this).text()
}, {
duration: 4000,
speed: 100,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});
});
#winh
{
width: 100px;
height: 100px;
background: red;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
float:left;
margin:5px;
}
.count
{
line-height: 100px;
color:white;
margin-left:30px;
font-size:25px;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div id="winh"><span class="count">7</span></div>
<div id="winh"><span class="count">8</span></div>
<div id="winh"><span class="count">5</span></div>
<div id="winh"><span class="count">3</span></div>
<div id="winh"><span class="count">6</span></div>
<div id="winh"><span class="count">8</span></div>
<div style="clear:both"></div>
<button id="startCount">Start Count</button>
<button id="stopCount">Stop Count</button>
解决方案
var num = document.getElementsByClassName("count"),
speed = 1000,
timing;
counting = function () {
timing = setInterval(controllers, speed)
}
function controllers() {
for (n = 0; n < num.length; n++) {
num[n].innerHTML = parseInt(num[n].innerHTML) + 1
if (num[n].innerHTML == 10) {
num[n].innerHTML = 0;
}
}
}
function stop() {
clearInterval(timing)
}
#winh {
width: 100px;
height: 100px;
background: red;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
float: left;
margin: 5px;
}
.count {
line-height: 100px;
color: white;
margin-left: 30px;
font-size: 25px;
}
<div id="winh"><span class="count">7</span></div>
<div id="winh"><span class="count">8</span></div>
<div id="winh"><span class="count">5</span></div>
<div id="winh"><span class="count">3</span></div>
<div id="winh"><span class="count">6</span></div>
<div id="winh"><span class="count">8</span></div>
<div style="clear:both"></div>
<button id="startCount" onclick="counting()">Start Count</button>
<button id="stopCount" onclick="stop()">Stop Count</button>
推荐阅读
- c# - 获取和设置条件值
- c++ - Hexadecimal in [] operator
- powershell - New-AzResourceGroupDeployment:无法检索 cmdlet 的动态参数
- node.js - 在 express mongo react 中创建搜索/过滤器
- python - 在掩码数组上运行 scipy.stats 的测试
- javascript - 返回值到 DOM
- node.js - Facebook 信使平台 - 设置 Webhook - 错误 - 写入 EPROTO 1975128920 -third_party/boringssl/src/ssl/tls_record.cc:242
- angular - 角材料中没有发生排序
- javascript - Vue中切片URL获取文件名
- reactjs - Reactjs - 无法连接音频源中的变量