<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>距离放学还有<span id="time"></span></h1>
<button onclick="stop(this)">||</button>
<script>
//定义任务函数,计算now到target的时间差
function task(){
//定义目标时间end:2016年9月13日 12:00
var end=new Date("2016/12/28 23:00");
//获得当前时间now
var now=new Date();
//获得时间差(s):end-now/1000
var s=Math.round((end-now)/1000);
//求小时(h):
var h=Math.floor(s/3600);
//如果h<10,就改为0+h
h<10&&(h="0"+h);
//求分钟(m):
var m=Math.floor(s%3600/60);
//如果m<10,就改为0+m
m<10&&(m="0"+m);
//求秒(s):
s%=60;
//如果s<10,就改为0+s
s<10&&(s="0"+h);
//找到id为time的span,设置其内容为:h:m:s
document.getElementById("time").innerHTML=h+":"+m+":"+s;
}
task();
//启动定时器
var timer=setInterval(task,1000);
//停止定时器
function stop(btn){
//如果btn的内容为||
if(btn.innerHTML=="||"){
//停止定时器
clearInterval(timer);
//修改btn的内容为|>
btn.innerHTML="|>"}
//否则
else{
//启动定时器
timer=setInterval(task,1000);
//修改btn的内容为||
btn.innerHTML="||";
}
}
</script> </body>
</html>

JavaScript-setInterval-周期性行定时器-倒计时的更多相关文章

  1. javascript中window与document对象、setInterval与setTimeout定时器的用法与区别

    一.写在前面 本人前端菜鸟一枚,学习前端不久,学习过程中有很多概念.定义在使用时容易混淆,在此给向我一样刚踏入前端之门的童鞋们归纳一下.今天给大家分享一下js中window与document对象.se ...

  2. 前端笔记之JavaScript(九)定时器&JSON&同步异步/回调函数&函数节流&call/apply

    一.快捷位置和尺寸属性 DOM已经提供给我们计算后的样式,但是还是觉得不方便,因为计算后的样式属性值都是字符串类型. 不能直接参与运算. 所以DOM又提供了一些API:得到的就是number类型的数据 ...

  3. Flutter 快速上手定时器/倒计时及实战讲解

    本文微信公众号「AndroidTraveler」首发. 今天给大家讲讲 Flutter 里面定时器/倒计时的实现. 一般有两种场景: 我只需要你在指定时间结束后回调告诉我.回调只需要一次. 我需要你在 ...

  4. JavaScript指定周期来调用函数setTimeout和setInterval

    setTimeout方法:setTimeout setInterval方法:setInterval

  5. JavaScript对象(窗口对象 定时器对象 )

    1:窗口时间 confirm(str):确认对话框,确认返回trun,取消返回false,但是必须要有两个return:不然就算按下取消也会提交 第一个return:用于保证确认按钮运行 <sc ...

  6. window.clearInterval与window.setInterval的用法 定时器的设置

    window.setInterval() 功能:按照指定的周期(以毫秒计)来调用函数或计算表达式. 语法:setInterval(code,millisec) code:在指定时间到时要执行的Java ...

  7. JavaScript SetInterval与setTimeout使用方法详解

    setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.不过这两个函数还是有区别的 ...

  8. JavaScript学习笔记-简单的倒计时跳转页面

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  9. 深入理解JavaScript定时机制和定时器注意问题

    容易欺骗别人感情的JavaScript定时器 JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不 ...

随机推荐

  1. flask 添加日志

    def add_error_handler(app): for exception in default_exceptions: app.register_error_handler(exceptio ...

  2. 在.NET中使用EPPlus生成Excel报表 .

    --摘抄自:http://blog.csdn.net/zhoufoxcn/article/details/14112473 在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的 ...

  3. day7-socket

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...

  4. springMVC使用与生成序列号

    springMVC使用与生成序列号 我是以springMVC的方式提供序列号 代码可以直接在项目中用 第一步:controller类 @Autowired private PkGenerator pk ...

  5. scp远程复制

    scp 源 目标 -r 复制目录 scp -r  root@ip:/XXX/path  /XXX 注意:复制目录,包括该目录本身,目的地址无需再加该目录

  6. DataSet读取XML

    string file = File.ReadAllText("c://123.xml", Encoding.Default); using (DataSet ds = new D ...

  7. MySQL 批量插入 Update时Replace

    建一张试验表如下: 一.批量插入 MySQL的INSERT有一种写法如下: INSERT INTO person VALUES (NULL,'关羽', '2016-04-22 10:00:00'), ...

  8. SQL SELECT语句

    基本SQL SELECT语句   1.       下面的语句是否可以执行成功 select ename , job , sal as salary  from emp; 2.       下面的语句 ...

  9. centos6.x下手工安装二进制Docker v1.1x

    Docker在 centos 6.x 下面默认最新的版本是1.7, 然而这个并不符合我的实际需求, 尤其我需要 docker-compose 来作为编配工具部署swarm, 所以只有使用二进制的安装包 ...

  10. checkinstall打包工具使用

    checkinstall官网: http://asic-linux.com.mx/~izto/checkinstall/ 下载安装checkinstall: # git clone http://ch ...