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

JavaScript026

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 创建无缝的客户机 - 服务器通信。

实现倒计时很容易,关键是你要求刷新页面,不能停止倒计时

1、使用iframe,嵌入页面,父页上执行js操作,这样子页面刷新后会接着显示倒计时;

2、在后台实现,如使用java的timer类来实现倒计时,前台通过ajax获取倒计时结果,无论前端页面怎么刷新,不会停止倒计时

前端的好写,简单写下,仅供参考

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>无标题文档</title>

</head>

<body onLoad="startCount()" onUnload="fromClose()">

<iframe id="myFrame" src="innerPage.html" height="500" width="500"></iframe>

</body>

</html>

<script>

var timer

var count=10

function startCount(){

timer=window.setInterval("myTimeBack()",1000)

}

function myTimeBack(){

myFrame.document.getElementById("myInput").value=count

count=count-1

if(count==0)

count=10

}

function fromClose(){

clearInterval(timer)

}

</script>

//嵌入的页面innerPage.html

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>无标题文档</title>

</head>

<body>

<input type="text" value="" id="myInput" style="width:50">

<button onClick="refeshFrame()" style="width:80">refresh</button>

</body>

</html>

<script>

function refeshFrame(){

this.location.href=this.location.toString()

}

</script>

逻辑如下:

1、先判断两个时间的时间差,当然如果得到的时间是13位时间戳的话你需要转化一下

2、判断时间够一天显示天数,够一小时显示小时数

相关代码:

//获取时间,时间戳转换,不是则不转

var mydate1 = new Date(parseInt(time1.replace("/Date(", "").replace(")/", "")))

var mydate2 = new Date(parseInt(time2.replace("/Date(", "").replace(")/", ""))) 

//获取剩余秒数 

var timerc =dateDiff(mydate, '2015/05/19 10:00:00') / 1000

function dateDiff(date1, date2) {

            var dt1 = new Date(Date.parse(date1))

            var dt2 = new Date(Date.parse(date2))

            try {

                return Math.round((dt2.getTime() - dt1.getTime()))

            }

            catch (e) {

                return e.message

            }

        } 

//循环调用倒计时

  function add() { //加时函数

            --timerc //时间变量自减1

            var day = parseInt(timerc / 86400)

            var hour = parseInt((timerc % 86400) / 3600)

            var min = parseInt((timerc % 3600) / 60)

            var sec = Number(parseInt(timerc % 60 / 10)).toString() + Number(parseInt((timerc % 10))).toString()

            if (day > 0) { //如果不到5分钟

                $("#day").html(day + '天') //写入天数

                $("#hour").html(hour + '时') //写入小时数

                $("#min").html(min + '分') //写入分钟数

                $("#sec").html(sec + '秒') //写入秒数(两位)

            }

            else if (hour > 0) {

                $("#hour").html(hour + '时') //写入小时数

                $("#min").html(min + '分') //写入分钟数

                $("#sec").html(sec + '秒') //写入秒数(两位)

            }

            else if (min > 0) {

                $("#min").html(min + '分') //写入分钟数

                $("#sec").html(sec + '秒') //写入秒数(两位)

            }

            else if (sec != '00') {

                $("#sec").html(sec + '秒') //写入秒数(两位)

            }

            else {

                tiao(activity) return true//时间到0调用函数

            }

            setTimeout("add()", 1000) //设置1000毫秒以后执行一次本函数

        }

望采纳!