Удалить прошлые и последующие месяцы из текущего месяца - PullRequest
19 голосов
/ 02 октября 2011

Можно ли удалить последние даты и даты следующего месяца из полного календаря? Таким образом, для текущего месяца должны отображаться только текущие даты и дни.

Ответы [ 14 ]

15 голосов
/ 14 февраля 2012

Вы можете попробовать пропустить события в методе eventRender ():

eventRender: function(event, element, view)
{
   if(event.start.getMonth() !== view.start.getMonth()) { return false; }
}
8 голосов
/ 03 октября 2011

Ячейки сетки на следующий и предыдущий месяц имеют класс "fc-other-month", поэтому вы можете настроить таргетинг на них следующим образом:

например: Скрыть числа дня, добавьте CSS:

.fc-other-month .fc-day-number { display:none;}

или запустите этот JavaScript:

$(".fc-other-month .fc-day-number").hide()
6 голосов
/ 05 января 2015

Попробуйте это!

$('.fc-other-month').html('');

Это работает для меня!

5 голосов
/ 07 марта 2018

Добавить эту настройку showNonCurrentDates: false. При этом значении даты и события, не относящиеся к текущему месяцу, не будут отображаться.

$('#calendarId').fullCalendar({
     // Other settings
     showNonCurrentDates: false            
});
4 голосов
/ 29 сентября 2015

Ни одно из решений, представленных в этом ответе, не решает проблему с текущей версией FullCalendar. Используя ответ Башта в качестве отправной точки, я обновил его подход к использованию текущих API FullCalendar. Ниже приведен рабочий пример кода, который выполнит эту задачу:

eventRender: function (event, element) {
    var eventDate = event.start;
    var calendarDate = $('#activitiesCalendar').fullCalendar('getDate');
    if (eventDate.get('month') !== calendarDate.get('month')) {
        return false;
    }
}
1 голос
/ 14 мая 2018
$('.fc-other-month').html('');

и для отключения другого месяца:

$(".fc-other-month").addClass('fc-state-disabled');
1 голос
/ 18 ноября 2016

Для более новой версии плагина FullCalendar, следующие функции, использующие вспомогательные функции Moment.js, работают:

eventRender: function(event, element, view){ var evStart = moment(view.intervalStart).subtract(1, 'days'); var evEnd = moment(view.intervalEnd).subtract(1, 'days'); if (!event.start.isAfter(evStart) || event.start.isAfter(evEnd)) { return false; } },

1 голос
/ 14 мая 2016

Попробуйте использовать weekMode: http://fullcalendar.io/docs/display/weekMode/.

weekMode: 'liquid', or `weekMode: 'variable',`

Надеюсь, это поможет

1 голос
/ 06 мая 2016

для версии 2.0 или выше:

eventRender: function (event, element, view) {
   if(event.start._d.getMonth() !== $('calendar').fullCalendar('getDate')._d.getMonth()) { 
      return false; 
    }
}

// if you want to remove other month's days from view add to css:
    .fcc-other-month { 
        visibility:hidden;
     }
1 голос
/ 23 сентября 2015
eventRender: function (event, element, view) {
    var currentMon = new Date(event.start);
    var currentMonth = currentMon.getMonth();

    var currentMonViewStart = new Date(view.start);
    var currentMonthViewStart = currentMon.getMonth();

    var currentMonViewEnd = new Date(view.end);
    var currentMonthViewEnd = currentMonViewEnd.getMonth();

    if((currentMonth == currentMonthViewStart) && (currentMonth  == currentMonthViewEnd)){ 
        return false; 
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...