2012-10-18 59 views
0

我的JS代碼當前如下:顯示使用Javascript一週的元素

var today = new Date(), 
d = today.getDate(), 
m = today.getMonth() + 1, 
y = today.getFullYear(), 
date = d + '/' + m + '/' + y, 
specialDate = '22/10/2012'; 

if (date == specialDate) { 
document.getElementById("doodle").style.display = "block"; 
document.getElementById("defaultheader").style.display = "none"; 
} 
else { 
document.getElementById("doodle").style.display = "none"; 
document.getElementById("defaultheader").style.display = "block"; 
} 

代碼工作完美,但我現在想了一個星期顯示#doodle(10月22日至28日),而不是一天。我怎麼做?

回答

1

最好使用Date.now()new Date().getTime()來做到這一點。然後,你可以比較兩個「時代」:

var dateFrom = new Date('Oct 22 2012').getTime(), 
    dateTo = new Date('Oct 28 2012').getTime(); 

var dateNow = new Date().getTime(); 

if (dateNow >= dateFrom && dateNow =< dateTo) { 
    // show the element 
} else { 
    // hide it 
} 

編輯:

您還可以創建在控制檯dateFromdateTo,把數值有 - 如果你需要優化它。

+1

該解決方案將不會使用'.getTime()' – cbayram

+0

是的,但是我們需要在內存中存儲整個Date對象嗎?太浪費了。 – Killah