【问题标题】:How to customize time format of the labels on the time axis using vis.js如何使用 vis.js 自定义时间轴上标签的时间格式
【发布时间】:2016-01-13 06:42:37
【问题描述】:

我正在使用 vis.js 来绘制时间线。对于项目请求,我必须将时间轴格式自定义为以 mm:ss 为单位的当前时间倒计时。 原始时间轴标签格式为:

我想像这样改变时间轴

例如:当前时间是 11:20。下一个间隔 11:25 应更改为当前时间的倒计时,即 5 分钟(标签应显示为 05:00 ,格式为 mm:ss)。 11:30 改为 10:00,11:35 改为 15:00 等。 如果倒计时超过 60 分钟,格式应自动更改为 HH:mm:ss。如果缩小到天间隔,将自动显示倒计时天数。

有人可以帮助我吗?

【问题讨论】:

    标签: javascript format countdown timeline vis.js


    【解决方案1】:

    这不是您可以在时间轴中配置的。您可以自定义时间的格式,但不能显示不同的时间。

    要解决这个问题,您需要重写 Timeline 的一些方法,但我认为在这种情况下并没有那么复杂。基本上,您必须用您自己的实现覆盖以下两种方法,以某种方式返回时间差异:

    vis.timeline.TimeStep.prototype.getLabelMinor
    vis.timeline.TimeStep.prototype.getLabelMajor
    

    你不必自己重建库,加载vis.js,然后覆盖这两个方法,然后加载你的时间轴就足够了。

    这两种方法的源码在这里:

    https://github.com/almende/vis/blob/master/lib/timeline/TimeStep.js#L522-L550

    【讨论】:

    • 你知道如何在 Angular 9 中应用相同的
    • 覆盖这些方法是你必须在纯 JavaScript 中做的事情,这不是 Angular 特定的事情。
    猜你喜欢
    • 2019-03-09
    • 2011-01-11
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 2013-03-30
    相关资源
    最近更新 更多