2015-12-20 28 views
1

我找不到我的問題的答案,我想啓用日期的JavaScript腳本並在另一日期禁用它,例如,我有一個代碼可以讓我的網站在頁面上變成雪,我想在12月1日啓用它,並在每年的12月31日自動禁用它,這有可能嗎?每年在兩個日期之間自動啓用Javascript(例如聖誕節)

而且它也可能在HTML頁面上的JavaScript?

+0

如果您的頁面是動態的,您可以根據日期選擇在服務器端插入腳本標記。您也可以在頁面上擁有基於當前日期動態請求下雪腳本的JavaScript。有幾種方法可以做到這一點。 – hazardous

+1

是的,它可能在JavaScript中,但您無法控制用戶時鐘。 – Xotic750

回答

0

我知道這是不是最好的。但我認爲這對你有用。 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 
} 
+0

非常感謝,我認爲如果我從用戶系統中抽出時間並不重要,因爲這通常是好日子,我會測試!謝謝 ! – Playz

0

如果它是現有文件的一部分,無法分離,那麼只需添加有效日期的過濾器即可。以下是它的示例:

如果不是,則可以在有效日期和動態調用函數中動態加載此文件。

(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(); 
 
})()

+0

這是一個更復雜的例子,但它只會在2015年工作。但是,它可以很容易地更新爲只檢查月/日 –

1

這裏是一個腳本只有日期是十二月,將加載另一個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); 
} 
+0

非常感謝! – Playz

相關問題