如何在FullCalendar中更改今天前几天的背景颜色......?

时间:2011-12-23 11:04:05

标签: javascript jquery fullcalendar

我想在FullCalendar

中更改Days的背景颜色

我怎么能这样做..?

5 个答案:

答案 0 :(得分:9)

每天都有一个班级,因此您可以将以下内容添加到样式表中:

.fc-sun{background-color:Red;}
.fc-mon{background-color:green;}
.fc-tue{background-color:blue;}
  

如何用它来识别今天之前的几天?

你需要使用一些jQuery:

$('.fc-today').prevAll('td').css('backgroundColor','yellow');
$('.fc-today').parent().prevAll().find('td').css('backgroundColor','yellow');

答案 1 :(得分:1)

你可以做这样的事情(有点冗长,但你可以随意缩短它):

var today = $('.fc-today');
var classNames = today.attr('class');
var index = classNames.indexOf('fc-day') + 6;
var day;

if (index > 0) {
    day = classNames.substr(index, 2);

    for (day = day-1; day >= 0; day -= 1) {
        $('.fc-day'+day).addClass('fc-before-today');
    }
}

JSFiddle:http://jsfiddle.net/s4nuQ/

上查看

另外,我确信你可以使用jQuery的正则表达式选择过滤器,但为什么要这么麻烦?它永远不会超过42 *元素,因此性能不是一个问题。

*真的!每周七天,每周六周:6 × 7 = 42。 : - )

答案 2 :(得分:1)

选项1 每个单元格都有课程

.fc-past
.fc-today
.fc-future

您可以在css中使用它们,为过去,现在和将来制作一些颜色。

选项2 您可以循环每天的单元格并进行一些检查 以下是月视图的示例

$('.fc-day').each(function(){
    if($(this).is('.fc-today')) return false;
    $(this).addClass('fc-before-today');
})

CSS

.fc-before-today{background-color:red}

答案 3 :(得分:0)

var d=new Date();
var dat=d.getDate();


$('tbody tr').find('.fc-day-number').each(function(){

if($(this).val() == dat)
 {
     $(this).parents('div').siblings().prevAll().css('background-color','red');               
     return false;
 }

});

答案 4 :(得分:0)

在css中执行,就像这样简单

.fc-past {
  background-color: #F5F5F6
}