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中国地图热点效果-鼠标经过弹出提示层信息的简单实例
Feb 12 Javascript
javascript中scrollTop详解
Apr 13 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
Nov 17 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
Mar 10 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
node.js-v6新版安装具体步骤(分享)
Sep 06 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
Nov 22 Javascript
浅谈React深度编程之受控组件与非受控组件
Dec 26 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
Jun 17 Javascript
vue 如何使用递归组件
Oct 23 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
Nov 02 Javascript
JS前端canvas交互实现拖拽旋转及缩放示例
Aug 05 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获取文件内容最后一行示例
2014/01/09 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
Python中的各种装饰器详解
2015/04/11 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
简单了解如何封装自己的Python包
2020/07/08 Python
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
高中的自我鉴定
2013/12/16 职场文书
市场营销调查计划书
2014/05/02 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
学习型党组织心得体会
2014/09/12 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
防暑降温通知书
2015/04/27 职场文书