我正在我的网站上制作一个简单的日历,我正在努力完成以下任务:
这是我正在使用的javascript代码:
$(function() {
var date = new Date(),
currentDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" +
date.getDate();
$(".kalenteripv").each(function() {
var specifiedDate = $(this).data('date');
if (specifiedDate == currentDate) {
$(this).addClass('nyt');} // this day
else if (currentDate > specifiedDate) {
$(this).addClass('menny');} // past days
else {$(this).addClass('tuleva');} // future days
});
});
今天(2017-12-2),由于某种原因日历显示日期10-19在0.5不透明度,所以代码将“menny”或过去日期的css类添加到那些日期,这显然不应该这样做。我已经尝试用两位数写日期(例如2017-12- 02 ),但是当我这样做时,整个代码就会停止工作。
Here's an image to clarify the problem with dates 10-19
有什么建议吗?它一定是我正在做的某种简单的错误,但我真的无法弄清楚自己。我希望我能够清楚地解释这个问题。
这是显示问题的小提琴。
https://jsfiddle.net/vfy1bfnz/
提前谢谢!
答案 0 :(得分:0)
$(function pvmr() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd = '0'+dd
}
if(mm<10) {
mm = '0'+mm
}
today = yyyy + "-" + mm + "-" + dd;
$(".kalenteripv").each(function pvmr() {
var specifiedDate = $(this).data('date');
if (specifiedDate == today) {
$(this).addClass('nyt');
} else if (today < specifiedDate) {
$(this).addClass('tuleva');
} else if (today > specifiedDate) {
$(this).addClass('menny');
}
});
});
解决了!我想我应该留下答案,以防某些人有一天需要代码。