たとえば、商品がカートに追加されたときに、商品が 30 分間だけ表示されるようにタイマーを設定したいと考えています。私は試した :-
var d = new Date();
var minute = d.getHours()+30;
また、ユーザーに残り時間を表示したい(カウントダウン)
私はこれが間違っていることを知っています。jQueryを使用してこれを行いたいです。私はjqueryが初めてですこれについて私を助けてください
前もって感謝します。
ええ、これはある程度正しいですが、ユーザーに残り時間を表示したい、つまりカウントダウンを開始する必要があります。
わかりました、これはどうですか:
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
ここで JavaScript タイマーを見ることができます。30分の時間が必要な場合は、試してみてください
var timer = window.setInterval(function()
{
//doSomething
}, 1800000);
編集
後で再びオフにならないようにするには、次を使用しますwindow.clearInterval(timer);
編集
必要に応じて、1 つの大きなタイマーではなく、経過した時間を追跡できます。
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
}
Javascript で実行する場合は、次のようにします。
var waitTime = 30 * 60 * 1000; // = 30min.
setTimeout(function(){
alert("30 min!");
}, waitTime);
また、jQuery を使用する場合は、jQuery Timer プラグインを使用できます。 http://jquery.offput.ca/every/
しかし、PHP を使用し、システムがショッピング カート (または何か) である場合は、PHP のセッション メカニズムを使用する必要があると思います。