在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);
}
它不会工作,我不知道如何保持今天的日期值在一个变量,它比较并通过结果相应地打开特定的页面。
有人可以帮助我如何做到这一点?我应该使用数组吗?或者如果陈述?请帮助..非常感谢。
只需创建一个函数来获取当前日期一样的天数:
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);
}
非常感谢您的回答..这是大部分技巧,但可变数量是未定义的。我没有得到dayNumber()的价值。 我刚刚合并到函数open()中,并调用
。 它的工作。再次感谢 –没问题,高兴听到我帮助! –
其实你必须在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);
}
可能的副本[*计算Jday(儒略日)以JavaScript *](http://*.com/questions/11759992/calculating-jdayjulian-day-in-javascript)。 – RobG