<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
//获取当前时间并赋值给显示输入框的value
function clock(){
var time=new Date();
document.getElementById("clock").value = time;
}
//每秒执行一次赋值方法
function start(){
var i = setInterval("clock()",100);
}
//想让时间显示停下来的方法
function stop(){
var i = setInterval("clock()",100)
clearInterval(i);
}
</script>
</head>
<body>
<form>
<input type = "text" id = "clock" size = "50" />
<input type = "button" value = "start" onclick = "start()" />
<input type="button" value="stop" onclick= "stop()" >
</form>
</body>
</html>当点击"start"的时候 输入框里的时间显示正常,达到预期的动态显示时间的效果.问题是:当点击"stop"的时候,希望实现的功能是:input里面的时间不再随时间变化,停在当前时间,我自己写的不知道哪里问题,时间还是会动态变化的.
2 回答
已采纳
刚毅87
TA贡献345条经验 获得超309个赞
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>计时器</title> <script type="text/javascript"> //将 赋值给i 写在函数外面 var i; //获取当前时间并赋值给显示输入框的value function clock(){ var time=new Date(); document.getElementById("clock").value = time; } //每秒执行一次赋值方法 function start(){ // 使用定时器要遵循先关后开的原则,不然多次点击会加速 clearInterval(i); i = setInterval("clock()",100); } function stop(){ clearInterval(i); } </script> </head> <body> <form> <input type = "text" id = "clock" size = "50" /> <input type = "button" value = "start" onclick = "start()" /> <input type="button" value="stop" onclick= "stop()" > </form> </body> </html>
注释都写在代码中了.
望采纳!
添加回答
举报
0/150
提交
取消