我想把两个方法封装起来, 以后就可以多次使用了, 时间只能显示一次就报错 ? 还有fn也传不了? 是因为setTimeout的问题 ?代码: <h1 id="box2"></h1>
<input type="button" id="button" value="倒计时">
<script type="text/javascript">
window.onload = function () {
// 倒时时
var button = document.getElementById('button');
button.disabled = true;
showTime().countDown('box2',function () {
button.disabled = false;
});
button.onclick = function () {
console.log(this);
}
}
function showTime() {
return {
countDown:function (id,fn) {
var nowTime = new Date();
var endTime = new Date('2016/10/17,01:02:50');
var resultTime = parseInt((endTime.getTime() - nowTime.getTime()) / 1000); // 毫秒 时间差
var d = parseInt(resultTime / (24*60*60)); //天
var h = showTime().checkTime(parseInt(resultTime / (60*60) % 24));//时
var m = showTime().checkTime(parseInt(resultTime / 60 % 60)); //分
var s = showTime().checkTime(parseInt(resultTime % 60));//秒
// document.getElementById('box2').innerHTML = d+'天'+h+'时'+m+'分'+s+'秒';
document.getElementById(id).innerHTML = d+'天'+h+'时'+m+'分'+s+'秒';
if (resultTime <= 0) {
fn();
document.getElementById(id).innerHTML = 'End';
}
setTimeout(showTime().countDown,1000);
},
checkTime:function (num) {
if (num < 10) {
num = '0'+num;
}
return num;
}
}
}
</script>
添加回答
举报
0/150
提交
取消