如何在JS和HTML中使用计时事件执行时钟

时间:2017-09-08 08:19:17

标签: javascript jquery html date

我设置了一个带有计时事件的时钟,并希望在html文件中显示。我有2个文件,分别是js和html文件。 js是用时序事件配置时钟,而html文件用来显示时序。

我的代码见下文。
clock.html:

<html>
<head>
<title>Clock with a timing event</title>
<script src="clock.js"></script>
<script type="text/javascript" src="/Cesium-1.34/ThirdParty/jquery-1.11.3.min.js"></script>
</head>
<body>
<h1 id="txt"></h1>
</body>
</html>

JS:

    $(function () {
        function startTime() {
            var today = new Date();
            var h = today.getHours();
            var min = today.getMinutes();
            var s = today.getSeconds();
            var y = today.getFullYear();
            var mon = today.getMonth()+1;
            var d = today.getDate();
            min = checkTime(min);
            s = checkTime(s);
            mon = checkTime(mon);
            d = checkTime(d);
            document.getElementById('todaytime').innerHTML = " "+ d + "/" + mon + "/" +y + "  " + h + ":" + min + ":" + s + " SGT ";
            var t = setTimeout(startTime, 500);
        }
        function checkTime(i) {
            if (i < 10) {i = "0" + i};  // add zero in front of numbers < 10
            return i;
        }
 });

错误说明:

"Uncaught ReferenceError: $ is not defined"

我的问题是如何从js中获取值并显示在html文件中。

1 个答案:

答案 0 :(得分:0)

您当前的代码存在三个问题:

  • 第一个是你从不在任何地方调用startTime()函数,因此它永远不会启动
  • 第二个问题是,您的目标是ID为todaytime的元素,而您的HTML的ID为txt的元素
  • 第三个问题是你的函数被一个不存在的函数(jQuery)包装,所以只需删除开头$(function () {和最后}

以下是更正后的代码:JSFIDDLE DEMO