制作秒杀倒计时效果:在文本框中输入倒计时的秒数(以秒为单位),点击开始倒计时,下面的图片就会进行相应的切换。
首先,我们先要分析一下用到的知识点:
- img标签中的图片初始化为数字“0”的图片
- 使用了setInterval以及关闭计时器clearInterval
- 难点在于,如何将文本框中内容转化为时间,并在倒计时图片中对应展示
- 学会自己封装函数(在这个效果中,封装了一个fTime()函数将时间转化为要求的数字格式)
代码思路:
<body>
<input type="text"/>
<button>开始倒计时</button>
<div>
<img src="img/0.JPG" alt="">
<img src="img/0.JPG" alt="">
<img src="img/0.JPG" alt="">
<img src="img/0.JPG" alt="">
<img src="img/0.JPG" alt="">
<img src="img/0.JPG" alt="">
<img src="img/0.JPG" alt="">
<img src="img/0.JPG" alt="">
<!-- colon -->
</div>
<script src="myjs.js"></script>
<script>
var oTe = document.getElementsByTagName("input")[0];
var oBtn = document.getElementsByTagName("button")[0];
var aImg = document.getElementsByTagName("img");
var timer = 0;
var sS = ""
oBtn.onclick = function (){
clearInterval(timer);
sS = oTe.value;
clock();
timer = setInterval(clock,1000);
}
function clock(){
var sTime = fTime(sS--*1000);
for(var i=0;i<sTime.length;i++){
aImg[i].src = sTime[i]==":" ? "img/colon.JPG" : "img/"+sTime[i]+".JPG";
}
sS < 0 && clearInterval(timer);
}
</script>
</body>
效果展示:输入70
点击开始倒计时:(图片就会进行相应的切换)