<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<title>js实现倒计时60秒的简单代码(推荐)</title>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" />
<script type="text/javascript">
var countdown=60
function settime(val) {
if (countdown == 0) {
val.removeAttribute("disabled")
val.value="免费获取验证码"
countdown = 5
} else {
val.setAttribute("disabled", true)
val.value="重新发送(" + countdown + ")"
countdown--
setTimeout(function() {
settime(val)
},1000)
}
}
</script>
</body>
</html>
JavaScript简介
JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 课外书
如果 JavaScript 教程学习完毕,并且需要更深入地学习这门语言,《JavaScript 高级教程》绝对是您最好的选择。本教程从 JavaScript 的历史开始讲起,直到当前它对 XML 和 Web 服务的支持。
将学习到如何扩展该语言,以使它适应特殊的需求。
还将学到如何使用 JavaScript 创建无缝的客户机 - 服务器通信。
<html lang="en"><head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.time-item {
width: 430px
height: 45px
margin: 0 auto
}
.time-item strong {
background: orange
color: #fff
line-height: 49px
font-size: 36px
font-family: Arial
padding: 0 10px
margin-right: 10px
border-radius: 5px
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2)
}
.time-item >span {
float: left
line-height: 49px
color: orange
font-size: 32px
margin: 0 10px
font-family: Arial, Helvetica, sans-serif
}
.title {
width: 260px
height: 50px
margin:200px auto 50px auto
}
</style>
</head>
<body>
<h1 class="title">距离光棍节,还有</h1>
<div class="time-item">
<span><span id="day">00</span>天</span>
<strong><span id="hour">00</span>时</strong>
<strong><span id="minute">00</span>分</strong>
<strong><span id="second">00</span>秒</strong>
</div>
<script src="common.js"></script>
<script>
// 目标时间
var endDate = new Date('2018-3-15 0:0:0')
// 获取span
var spanDay = my$('day')
var spanHour = my$('hour')
var spanMinute = my$('minute')
var spanSecond = my$('second')
setInterval(countdown, 1000)
countdown()
// 倒计时
function countdown() {
// 计算时间差
// 当前时间
var startDate = new Date()
// 计算两个日期差
var interval = getInterval(startDate, endDate)
setInnerText(spanDay, interval.day)
setInnerText(spanHour, interval.hour)
setInnerText(spanMinute, interval.minute)
setInnerText(spanSecond, interval.second)
}
</script>
</body>
</html>
function countdown(when, callback){// 判断当前时间
var now = Date.now()
if(when < now){
throw '开始时间不能小于当前时间'
}
// 如果大于当前时间,则过了相差的时间后再执行此函数
else if(when > now){
setTimeout(function(){
countdown(when, callback)
}, when - now)
} else{
// 开始倒计时,这里的逻辑你没有描述
}
}
注意,js的定时并不是完全准确的。所有的setXXX之类的延时函数都是等计算机空闲下来才会执行