-2

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

var d = new Date();

var minute = d.getHours()+30;

我还想向用户显示还剩多少时间(倒计时)

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

提前致谢。

4

3 回答 3

12

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

好的,这个怎么样:

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

于 2012-11-11T06:08:01.060 回答
3

您可以在此处查看 javascript 计时器。如果需要计时 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
}
于 2012-11-11T05:52:43.107 回答
2

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

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

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

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

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

于 2012-11-11T05:59:09.223 回答