在DOM负载上打开specefic页面日期时间,javascript,phonegap

问题描述:

我有一个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://*.com/questions/11759992/calculating-jdayjulian-day-in-javascript)。 – RobG

只需创建一个函数来获取当前日期一样的天数:

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”,这是我的不好之处。 –

更改您的代码下面。它会工作。 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); 
}