JQuery / Javascript - 倒计时到零时重定向到上一页?

时间:2016-04-18 18:04:39

标签: javascript jquery redirect timer

这是我的第一个问题,我对JS来说还是个新手。无论如何,我在JSFiddle(http://jsfiddle.net/gPrwW/395/)上找到了这个倒计时器,我想知道在计时器变为零之后需要进行哪些编辑才能重定向到上一页?谢谢你的帮助!

$(document).ready(function(e) {
  var $worked = $("#worked");

  function update() {

    var myTime = $worked.html();
    var ss = myTime.split(":");
    var dt = new Date();
    dt.setHours(0);
    dt.setMinutes(ss[0]);
    dt.setSeconds(ss[1]);

    var dt2 = new Date(dt.valueOf() - 1000);
    var temp = dt2.toTimeString().split(" ");
    var ts = temp[0].split(":");

    $worked.html(ts[1] + ":" + ts[2]);
    setTimeout(update, 1000);
  }

  setTimeout(update, 1000);
});

5 个答案:

答案 0 :(得分:1)

您可以使用此;),将返回上一页。

{"Familys":{"Family":[{"propA":"dhsj", "propB":"dhdisb"}, {"propA":"krbsbs", "propC":"ksndbd", "propD":"odndns", "Families":{"Family":[....]}}]} 

答案 1 :(得分:0)

这个怎么样?

if (ts.join("") === "000000") {
  alert("Zero!")
  //location.href = "https://www.google.co.jp"
} else {
  $worked.html(ts[1] + ":" + ts[2]);
  setTimeout(update, 1000);
}

答案 2 :(得分:0)

我刚刚更新了你的代码。 Check it out https://jsfiddle.net/gPrwW/397/

答案 3 :(得分:0)

试试这个:



<html>

<head>
  <script src="https://code.jquery.com/jquery-2.2.3.js" integrity="sha256-laXWtGydpwqJ8JA+X9x2miwmaiKhn8tVmOVEigRNtP4=" crossorigin="anonymous"></script>
  <script>
    $(document).ready(function(e) {
      var $worked = $("#worked");

      function update() {
        var myTime = $worked.html();
        if (myTime == "00:00") {
          window.history.back();
          return;
        }
        var ss = myTime.split(":");
        var dt = new Date();
        dt.setHours(0);
        dt.setMinutes(ss[0]);
        dt.setSeconds(ss[1]);

        var dt2 = new Date(dt.valueOf() - 1000);
        var temp = dt2.toTimeString().split(" ");
        var ts = temp[0].split(":");

        $worked.html(ts[1] + ":" + ts[2]);
        setTimeout(update, 1000);
      }

      setTimeout(update, 1000);
    });
  </script>
</head>

<body>
  <div id="worked">00:10</div>
</body>

</html>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

关于您发布的代码中发生了什么,需要注意几点。首先,您使用serviceQueue对象。 Date的文档可在此处找到:(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)。所以你可以做一些事情来检查Datets[0]是否为零,但它们都是字符串,而且就个人而言,我不喜欢检查这样的字符串。

但是,ts[1]有两个名为DategetMinutes()的方法,它们都返回数字。因此,您可以在初始化getSeconds()之前进行检查。这可能看起来像这样:

temp

接下来,要转到上一页,请使用if(dt2.getMinutes() === 0 && dt2.getSeconds() === 0) { // do what you want to do at the end of countdown return; // return out of the function to stop it from continuing } 。如果您想要转到完全不同的页面,可以使用window.history。这两个文档都在这里:https://developer.mozilla.org/en-US/docs/Web/API/Window

我真的建议您查看文档,不仅因为您可以做其他很酷的事情,而且还会让您习惯于查看文档以获取答案。那里有很多非常有用的信息。