2017-01-19 76 views
0

以下のコードは、ブログからイベントセルの背景色を変更するために見つかったコードです。しかし、イベントレンダリングは、すべてのイベントのセルの色を変更しています。fullcalendar異なるイベントセルの背景色

event Render : function (event, element) { 
    var dataToFind = moment(event.start).format('YYYY-MM-DD'); 
    $(" td [data-date='"+dataToFind+"']").addClass('activeDay'); 
} 

私の問題は、私は2つの異なるイベントがあると私は正常であるべき唯一のイベントや他のイベントのためにセルの背景色を変更したいです。

+0

あなたはセルの色を変更するのではなく、さまざまなイベントのためのイベントの色を変更した場合、それが簡単ではないでしょうか? –

+0

しかし、私のクライアントの要件は、細胞の色を変更することです! – Sathya

答えて

0

次の2つの方法

  1. 代わりeventRendereventAfterAllRenderコールバックを使用して、

    var dataToFind = moment().format('YYYY-MM-DD'); 
    $(" td [data-date='"+dataToFind+"']").addClass('activeDay'); 
    
  2. 現在の日にクラスを追加したいあなたがたとえば必要な条件を使用することにより、上記目的を達成することができます関数内のeventRenderコールバックを使用して、以下のスニペットを記述します。

あなたが今日に 'activeDay' クラスを追加したい場合は、その後

eventRender: function(event, element) { 
    var today = moment().format('YYYY-MM-DD'); 
    var dataToFind = moment(event.start).format('YYYY-MM-DD'); 

    if (today == dataToFind) { 
     $(element).addClass('activeDay'); 
    } 
} 

希望これはあなたを助けます!

0

あなたの答えのおかげで、しかし、自分のコードの下の私のシナリオで私を助け、

if (event.title.match("^XXXX:")) { 
         var start = new Date(event.start); 
         var end = new Date(event.end); 
         var dateDiff = end.getDate() - start.getDate(); 
         if (moment(event.start).format('YYYY-MM-DD') != moment(event.end).format('YYYY-MM-DD')) { 
          for (i = 0; i < dateDiff + 1; i++) { 

           $("td[data-date='" + moment(start).add('days', i).format('YYYY-MM-DD') + "']").addClass('activeDay') 
          } 
         } 
         else if (moment(event.start).format('YYYY-MM-DD') == moment(event.end).format('YYYY-MM-DD')) { 
          $("td[data-date='" + moment(event.start).format('YYYY-MM-DD') + "']").addClass('activeDay'); 
         } 
        } 
関連する問題