明霞山资源网 Design By www.htccd.com
为了加强对JavaScript原生代码的编写能力,以及巩固setTimeout()的使用方法,制作了一个倒计时的demo,倒计时在现在的网站中算是一个常见的小功能,如果大家喜欢的话可以留下,就当作一个日常实用的小脚本。
实现思路
1、先获取小时值 将小时值减1开始进行倒计时 分钟59 秒数59
2、秒数的个位从9开始递减,当秒数个位小于0时,秒数的十位减1
3、秒数的十位小于0时,分钟的个位减1
4、分钟的个位小于0时,分钟的十位减1
5、分钟的十位小于0时,小时减1
6、小时数小于0后停止计时全部为0
实现代码
html
<p>倒计时:</p> <span id="hour">5</span> <span>:</span> <span id="minuteTen">0</span> <span id="minuteBit">0</span> <span>:</span> <span id="secondTen">0</span> <span id="secondBit">0</span>
css
span{
display: inline-block;
width: 20px;
height: 20px;
background-color: #000000;
color: #ffffff;
text-align: center;
}
JavaScript
function time(){
/*小时*/
var hourTxt = document.getElementById("hour");
var hour = parseInt(document.getElementById("hour").innerHTML);
/*分钟*/
var minuteTenTxt = document.getElementById("minuteTen");
var minuteBitTxt = document.getElementById("minuteBit");
var minuteTen = parseInt(document.getElementById("minuteTen").innerHTML);
var minuteBit = parseInt(document.getElementById("minuteBit").innerHTML);
/*秒*/
var secondTenTxt = document.getElementById("secondTen");
var secondBitTxt = document.getElementById("secondBit");
var secondTen = parseInt(document.getElementById("secondTen").innerHTML);
var secondBit = parseInt(document.getElementById("secondBit").innerHTML);
function start(){
hour--;
hourTxt.innerHTML = hour;
minuteTen = 5;
minuteTenTxt.innerHTML = minuteTen;
minuteBit = 9;
minuteBitTxt.innerHTML = minuteBit;
secondTen = 5;
secondTenTxt.innerHTML = secondTen;
secondBit = 9;
secondBitTxt.innerHTML = secondBit;
/*secondBit开始自减*/
function second(){
secondBit--;
secondBitTxt.innerHTML = secondBit;
/*十秒过后*/
if(secondBit < 0){
secondTen--;
secondTenTxt.innerHTML = secondTen;
secondBit = 9;
secondBitTxt.innerHTML = secondBit;
/*继续倒计时*/
setTimeout(second,1000);
/*一分钟过后*/
if(secondTen < 0){
minuteBit--;
minuteBitTxt.innerHTML = minuteBit;
secondTen = 5;
secondTenTxt.innerHTML = secondTen;
secondBit = 9;
secondBitTxt.innerHTML = secondBit;
/*十分钟过后*/
if(minuteBit < 0){
minuteTen--;
minuteTenTxt.innerHTML = minuteTen;
minuteBit = 9;
minuteBitTxt.innerHTML = minuteBit;
}
/*一个小时过后*/
if(minuteTen < 0){
hour--;
hourTxt.innerHTML = hour;
minuteTen = 5;
minuteTenTxt.innerHTML = minuteTen;
minuteBit = 9;
minuteBitTxt.innerHTML = minuteBit;
secondTen = 5;
secondTenTxt.innerHTML = secondTen;
secondBit = 9;
secondBitTxt.innerHTML = secondBit;
}
/*倒计时结束*/
if(hour < 0 ){
hour = 0;
hourTxt.innerHTML = hour;
minuteTen = 0;
minuteTenTxt.innerHTML = minuteTen;
minuteBit = 0;
minuteBitTxt.innerHTML = minuteBit;
secondTen = 0;
secondTenTxt.innerHTML = secondTen;
secondBit = 0;
secondBitTxt.innerHTML = secondBit;
clearTimeout(second);
clearTimeout(start);
}
}
}else{
setTimeout(second,1000);
}
}
setTimeout(second,1000);
}
setTimeout(start,1000);
}
执行页面
结束页面
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。

