JS案例之3——倒计时

利用简单的数字累加循环模拟倒计时的效果,逻辑比较简单。如果大牛们有更好的办法欢迎补充。

这种效果经常用于在规定的时间做某件事。比如在1分钟之后重新发送验证码等。

案例演示:

源代码如下:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" Content="text/html; charset=utf-8;">
 5 <title> JS实现倒计时 </title>
 6 <meta name="author" content="rainna" />
 7 <meta name="keywords" content="rainna‘s js lib" />
 8 <meta name="description" content="JS实现倒计时" />
 9 <style>
10 *{margin:0;padding:0;}
11
12 .m-time{width:500px;margin:100px auto;}
13 .m-time .btn,.m-time .btn2{display:block;width:200px;height:40px;margin:10px 0;background:#B4D174;border-radius:5px;color:#fff;text-decoration:none;text-align:center;line-height:40px;}
14 .m-time .btn2{opacity:.3;}
15 .m-time span{font-weight:bold;color:#f00;}
16 </style>
17 </head>
18 <body>
19 <div class="m-time">
20     <p>请输入倒计时时间:<input type="text" id="timeIpt"/></p>
21     <a href="" class="btn" id="sendBtn">发送</a>
22     <p>剩余<span id="leftTime"></span>秒</p>
23 </div>
24
25 <script>
26 var timer = function(){
27     var setTime = function(){
28         var self = this;
29         if(!(self instanceof setTime)){
30             return new setTime();
31         }
32         self.sendBtn = document.getElementById(‘sendBtn‘);      //发送按钮
33         self.leftTime = document.getElementById(‘leftTime‘);     //显示剩余时间
34         self.status = true;              //当为true时,发送按钮可点击
35     };
36     setTime.prototype = {
37         constructor: setTime,
38         showTime: function(time){
39             var self = this;
40             if(!!self.timerId) clearTimeout(self.timerId);
41             self.timerId = setTimeout(function(){
42                 self.showTime(time);
43             },1000)
44
45             self.leftTime.innerText = time;
46             self.sendBtn.className = ‘btn2‘;
47             self.status = false;
48             time--;
49
50             //倒计时结束
51             if(time < 0){
52                 clearTimeout(self.timerId);
53                 self.status = true;
54                 self.sendBtn.className = ‘btn‘;
55             }
56         },
57         init:function(){
58             var self = this;
59             self.sendBtn.onclick = function(event){
60                 event.preventDefault();
61                 if(self.status == true) self.showTime(document.getElementById(‘timeIpt‘).value);
62             }
63         }
64     }
65
66     return function(){
67         var st = new setTime();
68         st.init();
69     }
70 }();
71
72 timer();
73 </script>
74 </body>
75 </html>

JS案例之3——倒计时,布布扣,bubuko.com

时间: 2024-10-23 18:25:16

JS案例之3——倒计时的相关文章

JS案例之5——移动端触屏滑动

移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件.处理touch事件能跟踪到屏幕滑动的每根手指. 以下是四种touch事件 touchstart:     //手指放到屏幕上时触发 touchmove:      //手指在屏幕上滑动式触发 touchend:    //手指离开屏幕时触发 touchcancel:     //系统取消touch事件的时候触发,这个

JS案例之1——pager 分页

原文:JS案例之1--pager 分页 学习JS大半年之久,第一次自己尝试写一些小插件,写法参考网上某位牛人写代码的思路. 此处代码写的是静态分页.如果需动态分页,还可以修改下.第一次写,还有很多地方可以优化.希望各位大牛踊跃拍砖. 预览图 源代码 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" Content="text/html; char

为什么我要用 Node.js? 案例逐一介绍

介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样,现在我们也可以在服务器上运行 JavaScript ,从前端跨越到后端,这样巨大的反差让人难以想象,因为仅仅在几年前 Javascript 还如同 Flash 或者 Java applet 那样嵌入网页在沙箱环境中运行. 在深入Node.js之前,你可能需要阅读和了解使用跨栈式JavaScript(JavaScript across the stack)带来的好处,它统

js案例-捐赠管理

index.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js捐赠管理</title> <link href="

Js写的一个倒计时效果实例

我们经常会看到某些网站在注册的时候喜欢搞个按钮倒计时的效果,就是多少秒之后注册这个按钮才可以点击,其目的就是强迫你去看他的注册注意事项,这是一个很实用的效果:另外当我们进行在线考试的时候也必定会碰到答题倒计时的效果,这种倒计时效果是如何实现的呢?下面我们就用Js来实现一个倒计时效果,具体代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf

JS案例之4——Ajax多图上传

近期项目中有好几次用到多图上传,第一次在项目中真正用到Ajax技术,稍微整理了下,贴个案例出来. 我们传统的做法是当用户提交一个表单时,就向web服务器端发送一个请求.服务器接受并处理传来的表单信息,处理完成后返回一个新的页面.这个做法比较浪费带宽,当请求数较多时,页面响应的时间就依赖于服务器处理的时间. 而Ajax应用仅向服务器发送并取回必需的数据,其他不需要的数据不用响应,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JS来处理来自服务器的响应.因此在服务器和

js简单时分秒倒计时

最近做浏览器界面倒计时,用js就实现,两种方式: 一:设置时长,进行倒计时.比如考试时间等等 代码如下: 1 <html> 2 <head> 3 <meta charset="UTF-8"> 4 <title>简单时长倒计时</title> 5 <SCRIPT type="text/javascript"> 6 var maxtime = 60 * 60; //一个小时,按秒计算,自己调整! 7

js案例

1.开关灯效果: var oBody = document.getElementById("bodyEle"); oBody.onclick= function () { var bg=this.style.backgroundColor; switch(bg){ case "white": this.style.backgroundColor="blue"; break; case "blue": this.style.ba

JS实现十分钟倒计时代码实例

编写JS倒计时代码需要用到很多JavaScript知识,比如:if函数,Math.floor,定时器setInterval等等,如有不清楚的小伙伴可以参考PHP中文网的相关文章,或者访问 JavaScript视频教程. 举例:10分钟考试倒计时,当时间仅剩五分钟时,提醒考试仅剩5分钟,时间结束时,提示考试结束.具体代码如下: HTML部分: ? 1 2 3 4 <body>  <div id="timer"></div>  <div id=&q