我想设置一个计时器,例如我的产品在添加到购物车时应该只显示30分钟。我试过了: -
var d = new Date();
var minute = d.getHours()+30;
此外,我想向用户显示剩余时间(倒计时)
我知道这是错的。我想用jQuery做到这一点。我是jquery的新手,请帮助我
提前致谢。
答案 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的会话机制来完成它。