我找不到我的問題的答案,我想啓用日期的JavaScript腳本並在另一日期禁用它,例如,我有一個代碼可以讓我的網站在頁面上變成雪,我想在12月1日啓用它,並在每年的12月31日自動禁用它,這有可能嗎?每年在兩個日期之間自動啓用Javascript(例如聖誕節)
而且它也可能在HTML頁面上的JavaScript?
我找不到我的問題的答案,我想啓用日期的JavaScript腳本並在另一日期禁用它,例如,我有一個代碼可以讓我的網站在頁面上變成雪,我想在12月1日啓用它,並在每年的12月31日自動禁用它,這有可能嗎?每年在兩個日期之間自動啓用Javascript(例如聖誕節)
而且它也可能在HTML頁面上的JavaScript?
我知道這是不是最好的。但我認爲這對你有用。 1-您可以在java腳本中使用Date();
函數。但我們有一個問題。它從用戶系統獲得時間,可能是錯誤的。
您可以在this page
var today = new Date();
var todayMonth = today.getMonth()+1;
2 - 瞭解它,你可以使用服務器端語言,從它那裏得到的時間,你將不得不對所有訪問者的服務器時間。像在php date("Y-m-d")
中一樣。你可以學習here OR here
var todayMonth = <?php echo date("m") ?>
3-你可以從第三方應用得到它。但這是非常業餘的,它不是真的。
最後你可以從這兩個函數中獲得當前的月份和年份。並將其與兩個靜態值進行比較
if(todayMonth == 11) {
// your code
}
非常感謝,我認爲如果我從用戶系統中抽出時間並不重要,因爲這通常是好日子,我會測試!謝謝 ! – Playz
如果它是現有文件的一部分,無法分離,那麼只需添加有效日期的過濾器即可。以下是它的示例:
如果不是,則可以在有效日期和動態調用函數中動態加載此文件。
(function(){
function notify(date){
console.log(date);
}
function getValidDates(){
// You can have a API call that can get dates from server
var validDates = {
startDate: new Date(2015,11,1),
endDate: new Date(2015,11,31),
today: new Date()
}
return validDates;
}
function validate(dates){
if(+dates.startDate <= +dates.today && +dates.endDate> +dates.today){
notify(dates.today);
}
else{
console.log(dates);
}
}
function main(){
validate(getValidDates());
}
main();
})()
這是一個更復雜的例子,但它只會在2015年工作。但是,它可以很容易地更新爲只檢查月/日 –
這裏是一個腳本只有日期是十二月,將加載另一個JS腳本的一個簡單的例子。
在此之後,只要確保其他腳本將使雪:)
var date = new Date();
// This is a quick check for december month
// Can be replaced with a check for month/day
if (date.getMonth() === 11) {
var snowJs = document.createElement("script");
snowJs.type = "text/javascript";
snowJs.src = "path-to-snow-js";
document.body.appendChild(snowJs);
}
非常感謝! – Playz
如果您的頁面是動態的,您可以根據日期選擇在服務器端插入腳本標記。您也可以在頁面上擁有基於當前日期動態請求下雪腳本的JavaScript。有幾種方法可以做到這一點。 – hazardous
是的,它可能在JavaScript中,但您無法控制用戶時鐘。 – Xotic750