2011-12-23 45 views

回答

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'); 
+3

這怎麼可以用來識別前幾天今天? – 2011-12-23 11:08:24

+0

檢查我的更新... – Alex 2011-12-23 11:29:17

+0

爲了緊湊。 :-) – PPvG 2011-12-23 11:55:00

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。 :-)

+0

這是不是有點矯枉過正? – Alex 2011-12-23 11:46:19

+0

@AlexThomas:可能吧,但是「沒有像殺傷力一樣的殺戮」。你的解決方案肯定要短得多。我建議這種方法,因爲它明確選擇了'fc-dayXX'類。日曆可能永遠不會包含'td',它不會擁有這個類,但仍然...我喜歡安全而不是抱歉。 :-) – PPvG 2011-12-23 11:54:30

+0

公平競賽夥伴 – Alex 2011-12-23 12:02:38

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; 
} 

}); 
+0

這個循環是不是每天都執行,而不僅僅是當前的循環?這意味着css屬性的第一個兄弟會設置爲「n」次,第二個設爲「n-1」次,等等......另外:是否有一個原因,爲什麼你使用Date來代替選擇' .fc-today'? – PPvG 2011-12-23 12:02:51

1

OPTION 1 有類在每個單元

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

你可以在你的CSS使用它們,並提出一些顏色的過去,現在和未來。

OPTION 2 您可以每天細胞循環,並做了一些檢查的 這裏是例如與月視圖

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

CSS

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

使用.fc-past是迄今爲止最好的解決方案 – 2015-10-22 09:35:34

0

做到這一點在CSS,就這麼簡單

.fc-past { 
    background-color: #F5F5F6 
} 
相關問題