2017-02-13 50 views
0

我有一個phoneGap構建項目,它每天通過從手機獲取日期值打開特定頁面。在DOM負載上打開specefic頁面日期時間,javascript,phonegap

它像一年的完整待辦事項列表被寫在365頁,我想每天顯示一個頁面,匹配當天的日期。

我有365個HTML頁面,如1.html 2.html等..當用戶打開應用程序時,它應該檢查日期並相應地打開匹配的html頁面。

例如:如果今天的日期是1月1日,當用戶打開應用程序時,它必須打開1.html。如果它的Jan二則必須打開2.html等等。

我已經試過這樣:

document.addEventListener('DOMContentLoaded', function() { 
open() }, false); 

function open(){ 
window.open ('1.html','_self',false); 
} 

它不會工作,我不知道如何保持今天的日期值在一個變量,它比較並通過結果相應地打開特定的頁面。

有人可以幫助我如何做到這一點?我應該使用數組嗎?或者如果陳述?請幫助..非常感謝。

+0

可能的副本[*計算Jday(儒略日)以JavaScript *](http://stackoverflow.com/questions/11759992/calculating-jdayjulian-day-in-javascript)。 – RobG

回答

0

只需創建一個函數來獲取當前日期一樣的天數:

var dayNumber = function(){ 
    var now = new Date(); 
    var start = new Date(now.getFullYear(), 0, 0); 
    var diff = now - start; 
    var oneDay = 1000 * 60 * 60 * 24; 
    var day = Math.floor(diff/oneDay); 
    console.log('Day of year: ' + day); 
    } 

所以之後,你可以打開你想要這樣的html頁面:

document.addEventListener('DOMContentLoaded', function() { 
open() }, false); 

function open(){ 
var number = dayNumber(); 
var html = number + '.html'; 
window.open (html,'_self',false); 
} 
+0

非常感謝您的回答..這是大部分技巧,但可變數量是未定義的。我沒有得到dayNumber()的價值。 我剛剛合併到函數open()中,並調用。 它的工作。再次感謝 –

+0

沒問題,高興聽到我幫助! –

+0

其實你必須在dayNumber函數的末尾放置「return day」,這是我的不好之處。 –

0

更改您的代碼下面。它會工作。 getDAYNumber()是一個函數,它將接受日期並返回日期編號。

Date.prototype.getDAYNumber = function() { 
var onejan = new Date(this.getFullYear(),0,1); 
return Math.ceil((this - onejan)/86400000); 
} 

document.addEventListener('DOMContentLoaded', function() { 
open() }, false); 


function open(){ 
var daynum = new Date().getDAYNumber(); 
var htmlPage = daynum+".html"; 
window.open (htmlPage,'_self',false); 
}