实现简易计数器
可进行三个操作,开始计数,暂停计数,复位操作
(使用计时函数事件)
<html>
<head>
<meta charset="utf-8">
<title>简易计数练习</title>
<style type="text/css">
*{
margin: 0px;
padding: 0px;
}
#inputID{
width: 300px;
height: 60px;
text-align: center;
font-size: 50px;
color: coral;
}
</style>
<script type="text/javascript">
var num=0;
function count(){
var inputobj=document.getElementById("inputID");
inputobj.value=num;
num++;
}
var timing;
function start(){
timing=setInterval("count()",1000);
}
function stop(){
clearInterval(timing);
}
function restoration(){
clearInterval(timing);
var inputobj=document.getElementById("inputID");
inputobj.value=0;
num=0
}
</script>
</head>
<body>
<h3>简易计数器</h3>
<input type="text" id="inputID" value="0" readonly="readonly" /><hr/>
<input type="button" value="开始计数" onclick="start()" style="font-size: 20px;"/>
<input type="button" value="停止计时" onclick="stop()" style="font-size: 20px;"/>
<input type="button" value="复位" onclick="restoration()" style="font-size: 20px;"/>
</body>
</html>
效果:

优化计数练习
为了防止重复点击开始按钮;而造成计数器重复操作,出现时间间隔问题;在点击开始按钮后,就禁用开始按钮组件;当点击停止按钮或者复位按钮时,恢复开始按钮组件.
<html>
<head>
<meta charset="utf-8">
<title>简易计数练习</title>
<style type="text/css">
*{
margin: 0px;
padding: 0px;
}
#inputID{
width: 300px;
height: 60px;
text-align: center;
font-size: 50px;
color: coral;
}
</style>
<script type="text/javascript">
var num=0;
function count(){
var inputobj=document.getElementById("inputID");
inputobj.value=num;
num++;
}
var timing;
function start(){
timing=setInterval("count()",1000);
document.getElementById("startbtn").disabled=true;
}
function stop(){
clearInterval(timing);
document.getElementById("startbtn").disabled=false;
}
function restoration(){
clearInterval(timing);
var inputobj=document.getElementById("inputID");
inputobj.value=0;
num=0
document.getElementById("startbtn").disabled=false;
}
</script>
</head>
<body>
<h3>简易计数器</h3>
<input type="text" id="inputID" value="0" readonly="readonly" /><hr/>
<input type="button" id="startbtn" value="开始计数" onclick="start()" style="font-size: 20px;"/>
<input type="button" value="停止计数" onclick="stop()" style="font-size: 20px;"/>
<input type="button" value="复位" onclick="restoration()" style="font-size: 20px;"/>
</body>
</html>
效果

将开始按钮与停止按钮布局在同一个位置
<html>
<head>
<meta charset="utf-8">
<title>简易计数练习</title>
<style type="text/css">
*{
margin: 0px;
padding: 0px;
}
#inputID{
width: 300px;
height: 60px;
text-align: center;
font-size: 50px;
color: coral;
}
</style>
<script type="text/javascript">
var timing;
function start(){
var startobj=document.getElementById("startbtn");
if(startobj.value=="开始计数"){
timing=setInterval("count()",1000);
startobj.value="暂停计数";
}else{
clearInterval(timing);
startobj.value="开始计数";
}
}
var num=0;
function count(){
var inputobj=document.getElementById("inputID");
inputobj.value=num;
num++;
}
function restoration(){
var inputobj=document.getElementById("inputID");
inputobj.value=0;
num=0
}
</script>
</head>
<body>
<h3>简易计数器</h3>
<input type="text" id="inputID" value="0" readonly="readonly" /><hr/>
<input type="button" value="开始计数" id="startbtn" onclick="start()" style="font-size: 20px;"/>
<input type="button" value="复位" onclick="restoration()" style="font-size: 20px;"/>
</body>
</html>
效果:

|