首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Javascript错误设置考试时间30分钟?

通过Javascript错误设置考试时间30分钟?
EN

Stack Overflow用户
提问于 2016-02-29 07:40:29
回答 3查看 278关注 0票数 2

我正在为网页写作,在那里我必须设置30分钟来检查time.So,我使用onloadsettimeout函数检查是否超过30分钟,问题页关闭并进入完成页面。我想添加当前分钟30分钟,但它不工作,不要去finish.php

代码语言:javascript
复制
<body onload="time()">
  <!-- question code -->
<div id="time"></div><!-- show time  -->
</body>

JS

代码语言:javascript
复制
<script>
function time(){
var j = new Date();
var hr = j.getHours();
var sec = j.getSeconds();
var min = j.getMinutes();
var m = min + 30;//set 30 minutes exam times
if (m === min) {
    location.href = "finish.php";
}    
document.getElementById('time').innerHTML = hr + ":" + min + ":" + sec;
 setTimeout(function() {
    time()
 }, 1000);
}
</script>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-29 08:16:52

代码语言:javascript
复制
function time() {
    var time = 60 * 1;  //Replace 1 with 30 minutes
    var minutes, seconds;
    setInterval(function () {
      minutes = parseInt(time / 60)
      seconds = parseInt(time % 60);

      minutes = minutes < 10 ? "0" + minutes : minutes;
      seconds = seconds < 10 ? "0" + seconds : seconds;

      document.getElementById('time').innerHTML = minutes + ":" + seconds;
       
      time--;
      
      if (time < 0) {
        location.href = "finish.php";
      }
    }, 1000);
}
代码语言:javascript
复制
<body onload="time()">
  <!-- question code -->
<div id="time"></div><!-- show time  -->
</body>

票数 0
EN

Stack Overflow用户

发布于 2016-02-29 07:46:21

试试这个

代码语言:javascript
复制
function time(){
    setTimeout(function() {
        location.href = "finish.php";
    }, 30*60*1000);
    setInterval(function() {
       var j = new Date();
       var hr = j.getHours();
       var min = j.getMinutes();
       var sec = j.getSeconds();
       document.getElementById('time').innerHTML = hr + ":" + min + ":" + sec;
    }, 1000);
 }
票数 1
EN

Stack Overflow用户

发布于 2016-02-29 07:45:13

每次超时时,您都要为m分配新值。您应该初始化,m只需初始化一次。

另外,minute是从0-59开始的,所以您不能总是检查它是否等于m + 30,这是错误的做法

尽管如此,在服务器端执行这个超时总是更好,在客户端有足够的方法来欺骗它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35694217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档