首页 > 解决方案 > MomentJS 仅显示加载时间

问题描述

但是,使用 momentjs 获取当前时间,我注意到它仅在加载期间获取值。这是什么原因造成的?我的怀疑是text()不适合动态值?

var zone = [
    est = 'America/New_York',
    cen = 'America/Mexico_City',
    mount = 'America/Denver',
    pac = 'America/Los_Angeles'
]
var est = moment.tz(moment(), zone[0]).format('HH:MM:ss a');
var cen = moment.tz(moment(), zone[1]).format('HH:MM:ss a');
var mount = moment.tz(moment(), zone[3]).format('HH:MM:ss a');
var pac = moment.tz(moment(), zone[4]).format('HH:MM:ss a');

$("#est").text(est)
$("#pac").text(pac)
$("#cen").text(cen)
$("#mount").text(mount)

dom 元素示例:

        <div class="clock">
            <p>Pacific</p>
            <p id="pac" class="time">1:00 PM</p>
        </div>
        <div class="clock">
            <p>Mountain</p>
            <p id="mount" class="time">1:00 PM</p>
        </div>

标签: javascripthtmlmomentjs

解决方案


moment()给你一次当前时间,仅此而已。您需要自己更新时间(例如,每秒)。此外,$(...).text只需更新一次文本内容。

尝试创建一个区间

window.setInterval(() => {...code to execute...}, 1000);

推荐阅读