JS 5秒倒计时的代码怎么写?时间要实时显示在屏幕上的。

JavaScript016

JS 5秒倒计时的代码怎么写?时间要实时显示在屏幕上的。,第1张

<!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之类的延时函数都是等计算机空闲下来才会执行