所有功能都没有在恢复按钮中运行

时间:2013-09-25 03:53:15

标签: javascript jquery timer

我有一个与Wordpress插件相关的JS文件。这是一个有定时器的测验插件。 我已经实现了暂停和恢复按钮,暂停计时器并恢复计时器。 但是简历存在一些问题。

恢复按钮代码类似于启动测验功能但不同之处在于恢复功能需要暂停计时器的时间。但按下恢复按钮后,问题是:

  1. 按恢复按钮后暂停按钮不起作用。
  2. 按下恢复后,当时间过去时,结果页面不会像按下后那样显示 开始测验按钮。
  3. 测验摘要按钮不起作用。
  4. Demo URL here

    有两个类似的js文件。我提供的内容很容易理解。

    JS FILE

    demo中的实际js文件具有变量名称很难遵循。所以我提供了类似的JS文件。

    当你打开js文件gists url时,请按照行号。 99,1282和2013。

3 个答案:

答案 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
});

Working Fiddle