【问题标题】:Timer for only 30 mins [closed]定时器只有 30 分钟 [关闭]
【发布时间】:2012-11-11 14:26:08
【问题描述】:

我想设置一个计时器,例如我的产品在添加到购物车时应该只显示 30 分钟。我试过了:-

var d = new Date();

var minute = d.getHours()+30;

我还想告诉用户还剩多少时间(倒计时)

我知道这是错误的。我想使用 jQuery 来做到这一点。我是 jquery 新手,请帮我解决这个问题

提前致谢。

【问题讨论】:

  • 您是不小心标记了 php 还是它在这里起了作用?
  • 你可以使用 setTimeOut 方法。
  • @Asad 抱歉,我已删除 php 标签

标签: jquery timer


【解决方案1】:

是的,这有点正确,但我想告诉用户有多少时间 剩余,即应该开始倒计时。如何做到这一点

好的,这个怎么样:

var countdown = 30 * 60 * 1000;
var timerId = setInterval(function(){
  countdown -= 1000;
  var min = Math.floor(countdown / (60 * 1000));
  //var sec = Math.floor(countdown - (min * 60 * 1000));  // wrong
  var sec = Math.floor((countdown - (min * 60 * 1000)) / 1000);  //correct

  if (countdown <= 0) {
     alert("30 min!");
     clearInterval(timerId);
     //doSomething();
  } else {
     $("#countTime").html(min + " : " + sec);
  }

}, 1000); //1000ms. = 1sec.

或者我推荐你使用这些插件: http://www.tripwiremagazine.com/2012/09/jquery-countdown-scripts.html

【讨论】:

  • 优秀的天才......感谢它的作品,但它显示计时器为:- 27 : 47000 我不知道这个 000 在秒结束时是什么,我该如何删除它?
  • NP 兄弟你能告诉我,我怎么知道用这个代码过去了 30 分钟?
  • 感谢您的帮助@wf9a5m75 兄弟,您能帮忙解决这个问题吗?我希望在会话中使用 php 设置这个计时器?我怎样才能做到这一点?
  • 糟糕,我以为你标记了“PHP”,但没有。算了。
  • 它给了我客户端时间,如果我想使用服务器端时间,我该怎么做?
【解决方案2】:

您可以查看 javascript timers here。如果需要计时 30 分钟,请尝试

var timer = window.setInterval(function()
{
    //doSomething
}, 1800000);

编辑

为了防止它稍后再次关闭,请使用window.clearInterval(timer);

编辑

如果您愿意,您可以跟踪过去了多少时间,而不是拥有一个大计时器。

var startTime = (new Date()).getTime();
var secondsLeft;
var timer = window.setInterval(function()
{
    var now = (new Date()).getTime();
    secondsLeft = 1800 - ((now - startTime) / 1000);
    //do something here to display secondsLeft
}

【讨论】:

  • 是的,这有点正确,但我想告诉用户还剩多少时间,即应该开始倒计时。如何做到这一点
  • @undefined 谢谢,修复错误
  • 希望大家不要介意我把链接改成了MDN,比w3fools更好的资源
  • 您可以设置每秒的间隔来更新剩余时间的显示。
  • @Asad,哦,没有问题。但我可能在编辑时覆盖了它。我的坏
【解决方案3】:

如果你想用 Javascript 来做,你可以这样做:

var waitTime = 30 * 60 * 1000; // = 30min.

setTimeout(function(){
  alert("30 min!");
}, waitTime);

如果你想使用 jQuery,你可以使用 jQuery Timer 插件。 http://jquery.offput.ca/every/

但是我认为如果你使用PHP并且系统是购物车(或其他东西),也许你应该使用PHP的会话机制。

【讨论】:

  • 是的,这有点正确,但我想告诉用户还剩多少时间,即应该开始倒计时。如何做到这一点
猜你喜欢
  • 1970-01-01
  • 2018-11-08
  • 1970-01-01
  • 2012-04-07
  • 2018-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多