定时器仅30分钟

时间:2012-11-11 05:49:10

标签: jquery timer

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

var d = new Date();

var minute = d.getHours()+30;

此外,我想向用户显示剩余时间(倒计时)

我知道这是错的。我想用jQuery做到这一点。我是jquery的新手,请帮助我

提前致谢。

3 个答案:

答案 0 :(得分:7)

  是的,这有点正确,但我想向用户显示多少时间   剩下的,即倒计时应该开始。怎么做呢

好的,这个怎么样:

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

答案 1 :(得分:3)

您可以查看javascript计时器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
}

答案 2 :(得分:1)

如果你想在Javascript中这样做,你可以这样做:

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

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

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

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