JavaScript分秒倒计时器实现方法


Posted in Javascript onFebruary 02, 2015

本文实例讲述了JavaScript分秒倒计时器实现方法。分享给大家供大家参考。具体分析如下:

一、基本目标

在JavaScript设计一个分秒倒计时器,一旦时间完成使按钮变成不可点击状态

具体效果如下图,为了说明问题,调成每50毫秒也就是每0.05跳一次表,

JavaScript分秒倒计时器实现方法

真正使用的时候,把window.onload=function(){...}中的setInterval("clock.move()",50);从50调成1000即可。

在时间用完之前,按钮还是可以点击的。

时间用完之后,按钮就不能点击了。

二、制作过程

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  

<title>time remaining</title>  

</head>  

<!--html部分很简单,需要被javascript控制的行内文本与提交按钮都被编上ID-->

<body>  

剩余时间:<span id="timer"></span>  

<input id="go" type="submit" value="go" />  

</body>  

</html>  

<script>  

/*主函数要使用的函数,进行声明*/  

var clock=new clock();  

/*指向计时器的指针*/  

var timer;  

window.onload=function(){  

    /*主函数就在每50秒调用1次clock函数中的move方法即可*/  

    timer=setInterval("clock.move()",50);  

    }  

function clock(){  

    /*s是clock()中的变量,非var那种全局变量,代表剩余秒数*/  

    this.s=140;  

    this.move=function(){  

        /*输出前先调用exchange函数进行秒到分秒的转换,因为exchange并非在主函数window.onload使用,因此不需要进行声明*/  

        document.getElementById("timer").innerHTML=exchange(this.s);  

        /*每被调用一次,剩余秒数就自减*/  

        this.s=this.s-1;  

        /*如果时间耗尽,那么,弹窗,使按钮不可用,停止不停调用clock函数中的move()*/  

        if(this.s<0){  

            alert("时间到");  

            document.getElementById("go").disabled=true;  

            clearTimeout(timer);  

            }  

        }  

    }  

function exchange(time){  

    /*javascript的除法是浮点除法,必须使用Math.floor取其整数部分*/  

        this.m=Math.floor(time/60);  

        /*存在取余运算*/  

        this.s=(time%60);  

        this.text=this.m+"分"+this.s+"秒";  

        /*传过来的形式参数time不要使用this,而其余在本函数使用的变量则必须使用this*/  

        return this.text;  

}  

</script>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
上传图片js判断图片尺寸和格式兼容IE
Sep 01 Javascript
JS中自定义定时器让它在某一时刻执行
Sep 02 Javascript
JavaScript实现列表分页功能特效
May 15 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
js实现5秒倒计时重新发送短信功能
Feb 05 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
Mar 08 Javascript
开发用到的js封装方法(20种)
Oct 12 Javascript
基于JS实现计算24点算法代码实例解析
Jul 23 Javascript
Javascript confirm多种使用方法解析
Sep 25 Javascript
详解 javascript对象创建模式
Oct 30 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 #Javascript
同一个网页中实现多个JavaScript特效的方法
Feb 02 #Javascript
JavaScript实现同步于本地时间的动态时间显示方法
Feb 02 #Javascript
JavaScript实现更改网页背景与字体颜色的方法
Feb 02 #Javascript
Javascript实现多彩雪花从天降散落效果的方法
Feb 02 #Javascript
jQuery及JS实现循环中暂停的方法
Feb 02 #Javascript
JQuery动画与特效实例分析
Feb 02 #Javascript
You might like
PHP 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
php常用表单验证类用法实例
2015/06/18 PHP
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
python中enumerate函数遍历元素用法分析
2016/03/11 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
python实现ID3决策树算法
2017/12/20 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
python如何保证输入键入数字的方法
2019/08/23 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
英国景点门票网站:attractiontix
2019/08/27 全球购物
六道php面试题附答案
2014/06/05 面试题
人事专员的岗位职责
2014/03/01 职场文书
大课间体育活动方案
2014/03/12 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
2015年行政助理工作总结
2015/04/30 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记