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 相关文章推荐
jquery 简单导航实现代码
Sep 11 Javascript
为调试JavaScript添加输出窗口的代码
Feb 07 Javascript
jQuery代码优化 事件委托篇
Nov 01 Javascript
jQuery中将函数赋值给变量的调用方法
Mar 23 Javascript
javascript检查表单数据是否改变的方法
Jul 30 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
Jan 06 Javascript
JS+CSS实现DIV层的展开、收缩效果
Jan 28 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
Oct 12 Javascript
AngularJS实现DOM元素的显示与隐藏功能
Nov 22 Javascript
div实现自适应高度的textarea实现angular双向绑定
Jan 08 Javascript
详解Node全局变量global模块
Sep 28 Javascript
vue接入腾讯防水墙代码
May 07 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之对抗Web扫描器的脚本技巧
2008/10/01 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
Highcharts入门之简介
2016/08/02 Javascript
Vue.js每天必学之指令系统与自定义指令
2016/09/07 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Python类中self参数用法详解
2020/02/13 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
Android面试题及答案
2015/09/04 面试题
省三好学生申请材料
2014/01/22 职场文书
群众路线剖析材料
2014/02/02 职场文书
年会主持词结束语
2014/03/27 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
考察现实表现材料
2014/05/19 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
python文件目录操作之os模块
2021/05/08 Python
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby