Javascript秒表不是从零开始的
Javascript Stopwatch not starting at zero
本文关键字:从零开始 Javascript 更新时间:2023-09-26
我有一个基本的秒表在这里,但问题是我认为它开始计数时,页面加载而不是开始按钮被点击。同样,当你重置并重新开始时,同样的问题也会发生。
<form>
<input type="button" value="Start count!" onclick="doTimer()" />
<input type="text" id="txt" />
<input type="button" value="Stop count!" onclick="stopCount()" />
<input type="button" value="Reset!" onclick="resetCount()" />
</form>
<script type="text/javascript">
var start = new Date().getTime();
var elapsed = '0.0';
var t;
var timer_is_on=0;
function timedCount() {
var time = new Date().getTime() - start;
elapsed = Math.floor(time / 100) / 10;
if(Math.round(elapsed) == elapsed) { elapsed += '.0'; }
document.getElementById('txt').value=elapsed;
t=setTimeout("timedCount()",50);
}
function doTimer() {
if (!timer_is_on) {
timer_is_on=1;
timedCount();
}
}
function stopCount() {
clearTimeout(t);
timer_is_on=0;
}
function resetCount() {
document.getElementById('txt').value='0.0';
var elapsed = '0.0';
}
</script>
我已经尝试定义开始按钮的开始变量onclick,但到目前为止还没有多少成功。
你必须在doTimer()
中包含另一个重置:
function doTimer() {
if (!timer_is_on) {
start = new Date().getTime();
timer_is_on=1;
timedCount();
}
}
你遇到的问题是你的记录start
一旦页面加载,而不是当用户实际点击开始按钮。要记录用户实际点击按钮时的开始,请将doTimer
函数更改为以下
function doTimer() {
if (!timer_is_on) {
start = new Date().getTime();
timer_is_on=1;
timedCount();
}
}
相关文章:
- 如何用javascript计算从现在开始的时间
- 使用JavaScript进行即时验证-不确定从哪里开始
- 高图表,使Y轴从零开始
- jQuery从零开始上传多个文件
- for循环,直到xml属性不为null.从最后一行开始javascript
- javascript:检查鼠标是否按下并从零开始计数,x秒后重定向
- 创建并遍历一个在 JavaScript 中不从零开始的多维数组
- 从今天开始的Javascript天+/-
- JQuery 从第二个零开始播放 html5 视频,但如果用户暂停视频,则保留当前帧
- 如何从上次运行javascript函数的时间开始
- 创建一个从今天开始的最近 7 天的名称数组 - javascript
- JavaScript 数组减少从索引开始
- 自动化Javascript单元测试..从哪里开始
- javascript winow.find()如何在每次点击搜索按钮时从顶部开始搜索
- 防止面积图Y轴从零开始
- 编码JS下划线_.从零开始扩展
- Javascript秒表不是从零开始的
- 模式匹配,不是从零开始的
- JavaScript获得点击链接的正确从零开始的索引
- Javascript:从零开始对索引数组进行排序