我想要一个倒计时器(类似于像Ticketek这样的预订机构网站使用的),以便用户知道我们将保留预订10分钟,他们最好赶紧填写表格!
我对如何将其他JavaScript合并到xPage中有一些知识盲区。我会感激任何帮助。
我的计划基本上如下:
- 加载页面。
- 从10:00到0:00运行倒计时器。
- 在0:00时,转到新页面并丢失所有输入的数据。
为了实现这一点,我参考了这篇stackoverflow帖子中的顶部答案(The simplest possible JavaScript countdown timer?),并尝试在xPage中使用它。
我已经将此代码按原样合并到xPage中(因此不起作用),希望它能起作用,然后将其更改为使用计算字段控件。 我将其保留为原样,希望有人可以指导我哪里存在误解?
任何指向我出错的地方,或者如何最好使这样的控件正常工作的指针?
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.afterPageLoad>
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript:function startTimer(duration, display) {
var timer = duration, minutes, seconds;
setInterval(function () {
minutes = parseInt(timer / 60, 10)
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
if (--timer < 0) {
timer = duration;
}
}, 1000);
}
var fiveMinutes = 60 * 5,
display = document.querySelector('#time');
startTimer(fiveMinutes, display);}]]></xp:this.script>
</xp:executeScript>
</xp:this.afterPageLoad>
<div>
Please complete in <span id="time">05:00</span>minutes.
</div>
</xp:view>