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下利用控制器载入对应脚本
Jul 17 Javascript
在多个页面使用同一个HTML片段的代码
Mar 04 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
Apr 27 Javascript
jQuery实现数字加减效果汇总
Dec 16 Javascript
JavaScript基础——使用Canvas绘图
Nov 02 Javascript
JS仿Base.js实现的继承示例
Apr 07 Javascript
js+html5实现复制文字按钮
Jul 15 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
Nov 27 Javascript
Express进阶之log4js实用入门指南
Feb 10 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
Jun 08 Javascript
openlayers实现地图弹窗
Sep 25 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中var_dump方法的使用详解
2013/06/24 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
Python深度优先算法生成迷宫
2018/01/22 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
Python中extend和append的区别讲解
2019/01/24 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
2014年基建工作总结
2014/12/12 职场文书
小石潭记导游词
2015/02/03 职场文书
辞职信格式模板
2015/02/27 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
vue中div禁止点击事件的实现
2022/04/02 Vue.js
oracle数据库去除重复数据
2022/05/20 Oracle