JS秒表倒计时器 (转)
<html>
<body>
<span>倒计时30分钟:</span><span id="clock">00:30:00:00</span>
</body>
</heml>
<script type="text/javascript">
//秒表倒计时控制
var normalelapse = 100;
var nextelapse = normalelapse;
var counter;
var startTime;
var start1 = clock.innerText;
var finish = "00:00:00:00";
var timer = null;
// 开始运行
function run() {
counter = 0;
// 初始化开始时间
startTime = new Date().valueOf();
//alert(startTime);
// nextelapse是定时时间, 初始时为100毫秒
// 注意setInterval函数: 时间逝去nextelapse(毫秒)后, onTimer才开始执行
timer = window.setInterval("onTimer()", nextelapse);
}
// 停止运行
function stop() {
window.clearTimeout(timer);
}
window.onload = function() {
run();
}
// 倒计时函数
function onTimer()
{
if (start1 == finish)
{
window.clearInterval(timer);
return;
}
var hms = new String(start1).split(":");
var ms = new Number(hms[3]);
var s = new Number(hms[2]);
var m = new Number(hms[1]);
var h = new Number(hms[0]);
ms -= 10;
if (ms < 0)
{
ms = 90;
s -= 1;
if (s < 0)
{
s = 59;
m -= 1;
}
if (m < 0)
{
m = 59;
h -= 1;
}
}
var ms = ms < 10 ? ("0" + ms) : ms;
var ss = s < 10 ? ("0" + s) : s;
var sm = m < 10 ? ("0" + m) : m;
var sh = h < 10 ? ("0" + h) : h;
start1 = sh + ":" + sm + ":" + ss + ":" + ms;
clock.innerText = start1;
// 清除上一次的定时器
window.clearInterval(timer);
// 自校验系统时间得到时间差, 并由此得到下次所启动的新定时器的时间nextelapse
counter++;
var counterSecs = counter * 100;
var elapseSecs = new Date().valueOf() - startTime;
var diffSecs = counterSecs - elapseSecs;
nextelapse = normalelapse + diffSecs;
//diff.value = counterSecs + "-" + elapseSecs + "=" + diffSecs;
// next.value = "nextelapse = " + nextelapse;
if (nextelapse < 0) nextelapse = 0;
// 启动新的定时器
timer = window.setInterval("onTimer()", nextelapse);
}
</script>
转载自:https://blog.csdn.net/pamchen/article/details/7854855
转载于:https://www.cnblogs.com/myJuly/p/10088253.html
JS秒表倒计时器 (转)相关推荐
- html可暂停倒计时代码,js实现倒计时器自定义时间和暂停
js倒计时器可自定义时间和暂停,效果如下,点击start 开始计时,end结束计时 分别复制 H5 css js 代码即可实现,具体的算法在js控制函数中(都写了注释) css html,body{ ...
- 基于51单片机电子秒表倒计时器proteus仿真程序原理图PCB数码管显示语言播报
硬件设计 仿真图1: 计时功能,数码管显示 仿真图2 数码管LCD结合显示:具有多次记录模式: 仿真图3 数码管显示:具有时钟和秒表功能: 仿真图4 数码管显示:具有语音播报功能(这里采用示波器模拟, ...
- 基于51单片机电子秒表倒计时器proteus仿真 汇编程序 数码管显示LCD1602显示
刚刚咱们讲了电子秒表用的是C语言,接下来咱们再讲一讲用汇编. 硬件设计 电路图1: 数码管显示:时间清零:启动计时:暂定计时:继续计时: 电路图2 程序设计 TLOW EQU 78H THIGH EQ ...
- 基于51单片机的6位毫秒百分秒级秒表倒计时器proteus仿真
#include <AT89X52.H> #define uint unsigned int //宏定义无符号整型数据 #define uchar unsigned char //宏定义无 ...
- 使用js在桌面上写一个倒计时器_论一个倒计时器的性能优化之路
原文发表于 2018.05.25,搬运自个人博客. 引子 回顾这半年,扛需求能力越来越强,业务代码也是越写越多.但稍一认真看看这些当时为了满足快速上线所码的东西,问题其实还是不少.这次就从一个简单的计 ...
- js倒计时器可自定义时间和暂停
js倒计时器可自定义时间和暂停,效果如下,点击start 开始计时,end结束计时 分别复制 H5 css js 代码即可实现,具体的算法在js控制函数中(都写了注释) css html,body{ ...
- js倒计时天时分秒php,JS制作分秒倒计时器
这篇文章主要介绍了JavaScript分秒倒计时器实现方法,可实现按照毫秒倒计时的效果,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了JavaScript分秒倒计时器实现方法.分享给大家供 ...
- 使用js在桌面上写一个倒计时器_现代课程网教学互动平台课件编辑器:计时器、倒计时器(图文版)...
现代课程网教学互动平台 课件编辑器 计时器使用指南 01 功能介绍 计时器插件就是可以从零开始计时的插件. 02 编辑插件 1 在顶部菜单栏里找到"工具控件",在下拉菜单中找到&q ...
- 基于51单片机的倒计时器秒表定时器数码管显示原理图方案设计
系统的功能分析 (末尾附文件) 框架图: 原理图: 声光报警电路(低电平有效)设计 有源蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机.打印机.复印机.报警器.电子玩具.汽车电 ...
最新文章
- SqlServer数据库基础知识整理(不断更新~)
- 怎么git 自己建的服务器_Git服务器搭建,以及Git基本操作
- 同步等待异步操作,为什么Wait()在这里冻结程序
- Javascript中的AES加密和Java中的解密
- bbb 烧写脚本分析
- ebs 供应商地点信息_供应商,地址,业务实体,地点关联银行账户
- Uncaught ReferenceError: FileAsyncWriter is not defined
- 【广告技术】下个月会有多少用户看到洗发水广告?最先进的张量分解模型给你最好的答案
- eclipse中导入dtd文件实现xml的自动提示功能
- 怎么用proteus软件仿真单片机程序?
- 巧用金山网盾对付游戏插件强行锁定主页
- Qt使用dump定位崩溃位置
- 全球与中国绿色多元醇市场现状及未来发展趋势
- C++/EasyX面向对象编程实现-简单双人对战五子棋
- vue 页面卡顿(数据量大)
- Terraform的安装
- Office 远程代码执行漏洞复现过程
- 通过快递鸟如何接入圆通速递电子面单
- python 爬网站上的图片
- 泡泡 shader graph unity
热门文章
- 基于Python实现的学生兼职平台
- 15年营销老兵探秘加推:为何有2万多家企业选择加推?
- 简直不得了!DataVisor推出轻量级UML,实力圈粉中小企业!
- poi导出excel 损坏_急!!!java用poi导出excel文件,打开导出的文件时报错“文件错误,数据可能丢失”...
- mac安装淘宝镜像cnpm
- 微分方程的数值解法与程序实现 pdf_【MATLB数值】—数值计算
- 关灯吃面?折基也会下蛋
- 0225-全球股市大跌
- 下载国外论文的实用网址,Sci-Hub用不了就用它们!
- Matlab绘制普朗克公式曲线1/2