我有一个与Wordpress插件相关的JS文件。这是一个有定时器的测验插件。 我已经实现了暂停和恢复按钮,暂停计时器并恢复计时器。 但是简历存在一些问题。
恢复按钮代码类似于启动测验功能但不同之处在于恢复功能需要暂停计时器的时间。但按下恢复按钮后,问题是:
有两个类似的js文件。我提供的内容很容易理解。
demo中的实际js文件具有变量名称很难遵循。所以我提供了类似的JS文件。
当你打开js文件gists url时,请按照行号。 99,1282和2013。
答案 0 :(得分:0)
首先,当您点击第242行的控制台问题中出现“计时器恢复”错误时, h [с] .home是未定义的原因,当你按下暂停功能时,questionStart被赋值给变量C“undefined”
使用chrome developer工具或firebug来了解它出错的地方。
当您为变量选择名称时,最好选择一个名称响应变量的内容而不是简单地“a b c”为其他人以及当您忘记逻辑时对您更容易理解。
答案 1 :(得分:0)
由于此行导致错误:
C.find("span").val()=C.find("span").textContent();
使用以下代码更改它
C.find("span").val(C.find("span").textContent());
答案 2 :(得分:0)
如果要存储暂停操作的时间,请使用jquery的data()
方法。
C.find("span").data('time',C.find("span").text());
//use this value to some variable to resume the time.
var resumeTime = C.find("span").data('time');
上述data()
方法正在为您的元素C
添加一个键属性,其名称为“time”。
var timer = null,
interval = 1000,
value = 300; //In seconds, for 5 mins
$("#start").click(function () {
if (timer !== null) return;
timer = setInterval(function () {
value--;
$("#input").text(Math.floor(value / 60) + ":" + parseInt(value % 60, 10));
}, interval);
this.value = "resume";
});
$("#pause").click(function () {
clearInterval(timer);
timer = null
});