js 倒计时效果修改,把开始时间NowTime = new Date();像截止时间的传入我想要的值后,没有数字跳动效果

JavaScript08

js 倒计时效果修改,把开始时间NowTime = new Date();像截止时间的传入我想要的值后,没有数字跳动效果,第1张

你的EndTime和NowTime是写在function getRtime里面的

定时器每次调用getRTime函数时,EndTime和NowTime都要重新赋值,你把NowTime写死了,所以每次的NowTime都是一样的,

所以时间不会跳动

var the_s = 188888//定义剩余时间, 必须用时间戳.单位为秒

setInterval(promote,1000)//每秒执行一次下面的函数

function promote() {

var d = Math.floor((the_s / 3600) / 24)

var g = Math.floor((the_s - d * 24 * 3600) / 3600)

var e = Math.floor((the_s - d * 24 * 3600 - g * 3600) / 60)

var f = (the_s - g * 3600) % 60

var html = "还剩<b>" + d + "</b>天<b>" + g + "</b>时<b>" + e + "</b>分<b>" + f + "</b>秒"

document.getElementById("divdown1").innerHTML = html//这个id是你想要显示的div的id

the_s--

}

我这个定时器比你的好, 用我的.  你只要定义了the_s和要显示在哪的id. 就可以用了.

如你要显示剩余4小时, 那么将4小时转化为秒: 4*60*60=14400, 就这样调用:

var the_s = 14400

setInterval(promote,1000)

就ok了. 记得要引用我的函数哟~

一、js实现时间代码

<script type="text/javascript">

 function showtime(){

 var date=new Date()

var year=date.getFullYear()

var month=date.getMonth()+1

var day=date.getDay()

var hours=date.getHours()

var minutes=date.getMinutes()

var seconds=date.getSeconds()

        if(day==0){

        day=='日'

        }

        if(seconds<10){

seconds="0"+seconds

}

if (minutes<10) {

minutes="0"+minutes

}

if (hours<10) {

hours="0"+hours

}

var time=year+"/"+month+"/"+day+" "+hours+":"+minutes+":"+seconds

var o=document.getElementById("box")

    o.innerHTML=time

    setTimeout(showtime,1000)

   }

    showtime()

</script>

二、注意点

(1)用给变量赋予时间函数,月份要+1;

(2)将时间封装在函数中,好使用setTimeout(showtime,1000)

(3)var o=document.getElementById("box")()中写入想加到的div中的id选择符

(3)o.innerHTML=time是在HTML调用函数重要的语句

(4)该js必须放在想添加的div下面