1日1回、つまり日付が変更されたときにループを繰り返すだけのjavascriptforループを作成できるかどうか疑問に思っていました。
for(i=0; i < myArray.length; i++){
alert(myArray[i]);
}
したがって、上記のループで、それを実行し、データが変更されるまでそれまたは何かをフリーズし、別の反復を実行し、それを継続します。あなたは私が何を意味するか知っています。
前もって感謝します!
1日1回、つまり日付が変更されたときにループを繰り返すだけのjavascriptforループを作成できるかどうか疑問に思っていました。
for(i=0; i < myArray.length; i++){
alert(myArray[i]);
}
したがって、上記のループで、それを実行し、データが変更されるまでそれまたは何かをフリーズし、別の反復を実行し、それを継続します。あなたは私が何を意味するか知っています。
前もって感謝します!
サーバーがない場合は、localStorageを使用するのが最善の方法です(ユーザーはコンピューターの時刻を変更してロジックを壊す可能性があり、サーバーを使用するとこれをハッキングするのが難しくなるため)
// checks if one day has passed.
function hasOneDayPassed()
// get today's date. eg: "7/37/2007"
var date = new Date().toLocaleDateString();
// if there's a date in localstorage and it's equal to the above:
// inferring a day has yet to pass since both dates are equal.
if( localStorage.yourapp_date == date )
return false;
// this portion of logic occurs when a day has passed
localStorage.yourapp_date = date;
return true;
}
// some function which should run once a day
function runOncePerDay(){
if( !hasOneDayPassed() ) return false;
// your code below
alert('Good morning!');
}
runOncePerDay(); // run the code
runOncePerDay(); // does not run the code
事前定義された間隔で何かを発生させたい場合は、タイムアウト/間隔を設定できます: http ://www.w3schools.com/js/js_timing.asp
例えば:
var dayInMilliseconds = 1000 * 60 * 60 * 24;
setInterval(function() { alert("foo"); },dayInMilliseconds );
編集:コードがブラウザで実行されると述べたので、これはブラウザが少なくとも24時間実行されていることを前提としており、それ以外の場合は機能しません。
それを達成するための最良の方法は、1日間続くCookieを作成することです。Webページまたはブラウザの更新が閉じられた後でも、そのカウントダウンは続行されます。
setcookie($cookie_name, $cookie_value, time() + 86400, "/");
これは、86400=1日を意味します
それが役に立てば幸い