浏览器(支持HTML5):用于调试、显示倒计时器
文本编辑器(小编使用的是Notepad++):用于编辑html文件和javascript文件
html文件:显示倒计时器,其中内嵌的脚本用于向指定的html标签中插入时、分、秒值;
(1) 外部javascript文件countdown.js:实现倒计时器的主要功能。主要包括作为变量值的3个函数分别是:init()【用于初始化考试时 间】;setval()【用于给timer.html中的时、分、秒标签赋值,数值不足两位时用0补齐;setp()【用于计算每隔1000毫秒后,此时 的时、分、秒的值】。(2)countdown()函数:通过每隔1000毫秒调用step()函数实现一个动态的倒计时器。
(外部javascript文件countdown.js源码)countdown = function(userOptions){ var h,m,s,t; var init = function() { userOptions.time = userOptions.time*60 - userOptions.lefttime; s = userOptions.time%60; m = parseInt(userOptions.time%3600/60); h = parseInt(userOptions.time/3600); } var setval = function() { if(s >= 10) userOptions.sbox.innerHTML = s; else userOptions.sbox.innerHTML = '0'+s.toString(); if(m >= 10) userOptions.mbox.innerHTML = m; else userOptions.mbox.innerHTML = '0'+ m; if(h >= 10) userOptions.hbox.innerHTML = h; else userOptions.hbox.innerHTML = '0'+ h; } var step = function() { if(s > 0) { s--; } else { if(m > 0) { m--; s = 60; s--; } else { if(h > 0) { h--; m = 60; m--; s = 60; s--; } else { clearInterval(interval); userOptions.finish(); return ; } } } setval(); } init(); interval = setInterval(step, 1000);};
最后网页页面中实现的倒计时器,抓屏效果如下:
到此为止一个简单的网页版倒计时器实现了,感谢大家给予点击,欢迎大家指出存在的问题;后续小编将持续推出一些网站开发的实战经验,敬请大家给予关注。
1.在timer.html文件中的lefttime变量可以删除,同时countdown.js中对应的部分要作一些修改。小编由于是在做一个网上考试系统,需要用到lefttime这个变量,倒计时器只是整个系统的一个子功能;如果单独作为一个倒计时器使用,这个变量就有些多余了。
2.本文指定的考试总时间是60分钟,为了简洁本文使用了硬编码。更加灵活的方式是读取用户指定的参数,以此作为考试的时间。
3.还要一个功能,就是当时间达到指定的总时间60分钟后,倒计时器会自动提交并执行标签中action属性指定的动作,由于这个功能不作为本文的主题,下次作为另一主题再贡献给大家。