2014-02-13 25 views
1

我正在嘗試創建一個在給定日期顯示消息的JavaScript。在當前腳本中使用每天的消息選項。給定日期的Javascript消息腳本

也許這是一個過於複雜的腳本,每兩週顯示一些日期。有人可以幫我解決腳本運行嗎?

var days = new Array(); 
var msgs = new Array(); 

days[0] = "13 februari 2014"; 
msgs[0] = "13 februari 2014"; 

days[1] = "27 februari 2014"; 
msgs[1] = "27 februari 2014"; 

days[2] = "6 maart 2014"; 
msgs[2] = "6 maart 2014"; 

days[3] = "20 maart 2014"; 
msgs[3] = "20 maart 2014"; 

days[4] = "3 april 2014"; 
msgs[4] = "3 april 2014"; 

days[5] = "17 april 2014"; 
msgs[5] = "17 april 2014"; 

var months = new Array("", 
    "januari", "februari", "maart", "april", "mei", "juni", 
    "juli", "augustus", "september", "oktober", "november", "december" 
); 

var today = new Date(); 
var mon = months[today.getMonth() + 1]; 
var day = today.getDate(); 
var year = today.getYear(); 

function dateMsg() { 
    for (i = 0; i < days.length; i++) { 
     tempdate = new Date(days[i]); 
     tempmonth = months[tempdate.getMonth() + 1]; 
     tempday = tempdate.getDate(); 
     tempyear = tempdate.getYear(); 
     if (year == tempyear && mon == tempmonth && day == tempday) 
      return (msgs[i]); 
    } 
    return (day + " " + mon + " " + year); 
} 

document.write('<b>' + dateMsg() + '</b>'); 
+0

因爲這不是語法錯誤? 「tempyear = tempdate.getYear());」 –

+0

感謝您指出了這一點,但它仍然沒有顯示提示信息。 – Martijn

+1

,並顯示一個日期與2個星期,你只需要添加正確的日子? http://jsfiddle.net/cpduh/ –

回答

1

當您創建tempdate = new Date(days[i]);沒有創建一個日期對象,因爲日期構造函數不接受名字您正在使用個月的新日期。

另外:嘗試getFullYear()作爲getYear()已被棄用

這裏更換的getYear()所有實例就是我的例子,在英語二月份:http://jsfiddle.net/w7jTV/4/

但是,如果你只是想不同的文本一天,每一個2周有更簡單的方法來做到這一點:http://jsfiddle.net/w7jTV/5/

+0

@ Carasel Tnx發佈小提琴。如果我能在本示例的2月13日收到消息,那麼這將是解決方案。 – Martijn

+0

編輯添加語言問題 – Carasel

+1

儘管如此,可能有更好的方法來做你想做的事 - 看我的編輯。 – Carasel