我正在尝试以这样的格式制作primefaces extentions倒计时器:
时间重播:3天,01:15:22
所以我添加了pe:timer组件并设置了这样的格式:
<pe:timer id="time_remaning" timeout="800" format="DDD [days,] HH:mm:ss" immediate="true"/>
但它没有按预期工作。我越来越: 1天,00:13:20
但超时的“天”部分应为0而不是1.我的编码器中是否有错误?我从here获得了格式化参数,如文档中所述。
或者我是否需要在此示例中使用自定义formatFunction,或者有没有办法只使用formater执行此操作?
答案 0 :(得分:2)
我无法使用formater工作,所以我使用了functionFormater来完成工作。
这是我的.xhtml代码:
<pe:timer id="time_remaning" timeout="#{myBean.getTimeForTimeoutInSeconds()}"
formatFunction="return formatMe(value);" />
.js格式函数:
window.formatMe = function (value) {
var numDays = Math.floor(value / 86400);
var numHours = Math.floor((value % 86400) / 3600);
var numMinutes = Math.floor(((value % 86400) % 3600) / 60);
var numSeconds = ((value % 86400) % 3600) % 60;
return numDays + " dni, " + pad(numHours, 2) + " : "
+ pad(numMinutes, 2) + " : " + pad(numSeconds, 2) + " ";
}
function pad(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}