按下按钮重新开始倒数

时间:2018-08-05 17:29:07

标签: javascript jquery asp.net asp.net-mvc

我有一个倒计时的计时器,除非刷新页面,否则无法重置它。我希望按一下按钮即可重置计时器,但是我找不到或找不到可以帮助我完成此操作的代码。

这是我控制器中的代码

for i in range(1, 2):
    for j in range(1, 100):
        w, v = LA.eig(np.array([[jj[i+0]+j*0.1,jj[i+1],jj[i+2]], [jj[i+3],jj[i+4],jj[i+5]],[jj[i+6],jj[i+7],jj[i+7]]]))
        if clf.predict([w]) == 1:
            print(jj[i+0]+j*0.1)
    for j in range(1, 100):
        w, v = LA.eig(np.array([[jj[i+0]-j*0.1,jj[i+1],jj[i+2]], [jj[i+3],jj[i+4],jj[i+5]],[jj[i+6],jj[i+7],jj[i+7]]]))
        if clf.predict([w]) == 1:
            print(jj[i+0]+j*0.1)

这是视图中的代码:

Session["Rem_Time"] = null;
if (Session["Rem_Time"] == null)
{
    Session["Rem_Time"] = DateTime.Now.AddMinutes(1).ToString("dd-MM-yyyy h:mm:ss tt");
}
ViewBag.Rem_Time = Session["Rem_Time"];

return View();

这是计时器(JS)的脚本:

<div class="float-left">
    <h2 id="timecountdown"></h2>
</div>
<input type="button" value="Reset" onclick="?" />

这里的任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您可以通过在单击按钮时注册事件并重置h2来实现。

示例:

<div class="float-left">
    <h2 id="timecountdown"></h2>
</div>
<input type="button" value="Reset" onclick="reset_counter(5000)" />

现在,您可以在脚本中添加类似...

function reset_counter(seconds) {
    // do something with the seconds/minutes/hours...
    document.getElementById("timecountdown").innerHTML = "whatever...";
}

即使查看代码,也可能希望重置计时器而不是h2(无论如何,您确实知道如何做)。我想您的应用程序需要一段时间才能到达服务器,因此您可能希望使用AJAX进行检索。

示例:

function updateTime() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("timecountdown").innerHTML = "";
            this.responseText;
       }
    };
    xhttp.open("GET", "http://myserver.com/foo.asp?time=", true);
    xhttp.send(); 
}

我希望这会有所帮助。