2017-10-03 15 views
0

私の問題は休日のイベントをスタイリングすることです。FullcalendarはCSSルールを変更し続けています

私は、定期的なイベントや休日のイベントでのEventSourceをフェッチしていたようにマーク:私は何をしようとしているevent.holiday = true

は、定期的にイベントを表示し、CSSルールdisplay : noneと、それらの休日のイベントを隠して、色を変えています日の数。以前はjQueryからアクセスできるようにholidayクラスを追加しました。

これは、一日数の色変更するコードの一部です:

eventRender: function (event, element, view){ 
      $('.fc-day-number').each(function() { 
       var currentDate = (new 
       Date(event.start)).toISOString().slice(0, 10); 
       var day = $(this).parent().attr('data-date'); 
       if (currentDate == day && event.holiday) { 
        $(this).addClass('holiday'); 
       } 
      }); 
} 

をそして、それは動作しますが、それは色が変化しますが、私は月を変更するにはクリックした場合、それが消えます。

何か不足していますか?これを達成するための簡単な方法はありますか?

+1

休日を表現するために「バックグラウンドイベント」を使用する方がよいでしょうか? https://fullcalendar.io/docs/event_rendering/Background_Events/。実際のイベントボックスを表示せず、バックグラウンドで色を変更するだけで、達成しようとしているものとよく似ています。 – ADyson

+0

私はあなたのアイデアをテストしていましたが、私はそれもまたバニシエであることに気付きました。 Holidayイベントソースに 'stick:true'を入れておきます!どうもありがとうございます! – kentpwn

+0

ああ、クライアント側でイベントを追加していたことに気付かずに、イベントソースについて話したので、それがサーバーから来ていると仮定しました。しかし、ええ、https://fullcalendar.io/docs/event_rendering/renderEvent/を使ってクライアント側を追加するイベントは、 'stick'パラメータがtrueに設定されている必要があります。あなたはイベントソース全体でそれをどのように設定できるのか混乱していますか? – ADyson

答えて

0

ここでの問題は、ホリデーイベントでは使用できなかったオプションstick:trueでした。

0

こんにちは、私はコード

if (currentDate == day && event.holiday) { 
    $(this).addClass('holiday'); 
} 

のこの部分は、この色とespecialy addClass( '休日')を変更すると思います。 あなたのCSSファイルでこのクラスのスタイルを設定することができます

+0

申し訳ありませんが、私はそれを言及していないが、すでに.cssファイルに入っていて、私が言ったように、それは赤く印刷されます! 問題は、私が月を変えて、数字が赤で表示されている場合は、黒(元の色)に戻ります。 – kentpwn

+0

あなたはいくつかのリンクを提供できますか? –

+0

私はそれをローカルでテストしています。私はフィドルにアップロードしてみましょう。 – kentpwn

関連する問題