代码之家  ›  专栏  ›  技术社区  ›  Bruno A

Primefaces一个投票“暂停”另一个投票

  •  1
  • Bruno A  · 技术社区  · 7 年前

    我在同一页上有两个primefaces投票。

    其中一个( pollLg )间隔时间较长(30秒),而另一个( pollSm )间隔较小(8秒)。

    什么时候? 波勒格 开始,我想 民意测验 “暂停”,然后继续(记住中断的时间) 波勒格 完成任务。

    如果我打电话 PF('pollSm').stop() PF('pollSm').start() 里面 波勒格 任务, 民意测验 只有8秒后才会再次执行。

    例如,当网页打开时,我有:

    pollSm executions: 8sec, 16sec, 24sec (pollLg will execute here and stop pollSm)
    

    什么时候? 波勒格 完成,然后 民意测验 只在8秒后执行,而不是2秒(它被中断了6秒)

    有什么简单的方法可以做到这一点吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Kukeltje    7 年前

    首先让我声明PrimeFaces源代码是开放的,可以很容易地用于检查(可能是未记录的)特性。我注意到了,在PrimeFaces中,你不可能很容易做到这一点,因为它的poll组件有一个内置的特性。在 javascipt source of the component 您可以看到它使用了普通的javascript计时器。

    所以我开始搜索是否可以用简单的javascript轻松完成这项工作,并注意到这里也没有简单的特性。幸运的是,在StAcExcel中存在一个现有的Q/A。 pausing/resuming a timer 在javascript中,它甚至有一个答案 that is about repeating timers .

    如果你把这个和 overriding (or extending) PrimeFaces widgets ,你可以实现你想要的。

    推荐文章