【问题标题】:MomentJS only showing time on loadMomentJS 仅显示加载时间
【发布时间】:2019-02-23 03:34:42
【问题描述】:

但是,使用 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>

【问题讨论】:

  • 不应该使用 setInterval 调用设置时间的函数,以便每分钟或每秒调用一次,无论您选择的单位是什么?
  • 我想这可能是我的误解。我认为那一刻是为了缓解这种情况。

标签: javascript html momentjs


【解决方案1】:

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

尝试创建interval

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-14
    • 2020-07-10
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    相关资源
    最近更新 更多