当前位置: 首页 > 知识库问答 >
问题:

Javascript JQuery倒计时程序

萧成文
2023-03-14

我正在尝试为日期/时间创建一个简单的倒计时计时器。

我目前只有以下几天去脚本,工作正常:

<div id="countdown">

today = new Date();
BigDay = new Date("March 29, 2013");
msPerDay = 24 * 60 * 60 * 1000 ;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
document.write(daysLeft + " days to go!");

</div>

我现在尝试创建一个完整的倒计时计时器(有小时、分钟和秒),并创建了以下脚本。html没有显示在页面上。

var today = new Date();
var BigDay = new Date("29 03 2013, 14:30:00");
var msPerDay = 24 * 60 * 60 * 1000 ;
var timeLeft = (BigDay.getTime() - today.getTime());
var e_daysLeft = timeLeft / msPerDay;
var daysLeft = Math.floor(e_daysLeft);
var e_hrsLeft = (e_daysLeft - daysLeft)*24;
var hrsLeft = Math.floor(e_hrsLeft);
var e_minsLeft = (e_hrsLeft - hrsLeft)*60;
var minsLeft = Math.floor(e_minsLeft);
var e_secsLeft = (e_minsLeft - minsLeft)*1000;
var secsLeft = Math.floor(e_secsLeft);
var timeString = daysLeft + " : " + hrsLeft + " : " + minsLeft + " : " + secsLeft;

$('document').ready(function(){

window.setInterval(function(){
$('#countdown').html(timeString);
}, 1000);

});

我不确定可能是什么问题。第一个脚本包含在html中,第二个是外部js文件。

编辑:html现在显示,但所有值都显示为NaN。

共有3个答案

邢炯
2023-03-14

因为您没有每秒运行timeString计算,所以#countdown div中的文本永远不会更改

蒋斯伯
2023-03-14

这里有一个错误:var minsLe=Math.floor((e_minsLeft);

第一个括号不是闭合的,应该是var minsleet=Math。楼层(e_Mins左)

吕皓
2023-03-14

除了上述语法错误之外,还有一些逻辑错误,您需要计算超时函数中的剩余时间字符串,否则这些值仅在页面加载时计算。

$(function(){
    var BigDay = new Date("29 Mar 2013, 14:30:00");
    var msPerDay = 24 * 60 * 60 * 1000 ;


    window.setInterval(function(){
        var today = new Date();
        var timeLeft = (BigDay.getTime() - today.getTime());

        var e_daysLeft = timeLeft / msPerDay;
        var daysLeft = Math.floor(e_daysLeft);

        var e_hrsLeft = (e_daysLeft - daysLeft)*24;
        var hrsLeft = Math.floor(e_hrsLeft);

        var e_minsLeft = (e_hrsLeft - hrsLeft)*60;
        var minsLeft = Math.floor(e_minsLeft);

        var e_secsLeft = (e_minsLeft - minsLeft)*60;
        var secsLeft = Math.floor(e_secsLeft);


        var timeString = daysLeft + " : " + hrsLeft + " : " + minsLeft + " : " + secsLeft;
        $('#countdown').html(timeString);
    }, 1000);
})

演示:小提琴

 类似资料:
  • 介绍 用于实时展示倒计时数值,支持毫秒精度。 引入 import { createApp } from 'vue'; import { CountDown } from 'vant'; const app = createApp(); app.use(CountDown); 代码演示 基础用法 time 属性表示倒计时总时长,单位为毫秒。 <van-count-down :time="time

  • CountDown 倒计时 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 通过timestamp参数设置倒计时间,单位为秒 <template> <u-count-down :timestamp="timestamp"></u-count-down> </template> <script> export de

  • 本文向大家介绍易语言倒计时程序制作,包括了易语言倒计时程序制作的使用技巧和注意事项,需要的朋友参考一下 这里教大家怎么制作易语言倒计时程序,接下来大家看步骤就会明白了。 1、第一步添加按钮组件两个,编辑框一个,标签一个。透明标签两个。时钟一个。 再新建一个窗口程序集。 2、这里是新建的窗口程序集。有一个标签和透明标签。属性那里可以设置窗口无边框,然后标签把窗口覆盖,接着放入透明标签,什么字自己可以

  • 问题内容: 我想知道是否有人可以帮助我。经过数小时的不懈搜索,在这里和网上我似乎找不到使用jquery的简单倒计时。我不想使用任何类型的插件,而只是简单的jquery代码来从日期倒数。我设法在下面找到此代码。但是即使将此代码放置在我的网站中,也不会显示任何内容。我从jquery.com添加了jquery文件,并添加了ID不包含任何内容的正确div 。如果有人可以解释或告诉我如何在采用日期格式并返回

  • 本文向大家介绍过年的倒计时相关面试题,主要包含被问及过年的倒计时时的应答技巧和注意事项,需要的朋友参考一下

  • 我的应用程序检查是否有一个带有日期的文件。 如果有日期,它将计算今天和该(未来)日期之间的差值,并初始化计时器,以X天Y小时Z分S秒的方式倒计时到该日期。 如果没有文件,则用户可以通过按钮选择日期。程序将在文件中存储日期并设置倒计时。 有一个删除按钮可以删除日期并选择其他日期。此删除按钮应取消计时器,使其停止计数。 当我取消计时器时,计时器不会停止。我的计时器滴答作响,但相差2秒,而不是1秒。显示