Как я могу сделать свою пользовательскую кнопку для перехода на новую функцию?
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay, myCustomButton'
},
customButtons: {
myCustomButton: {
text: 'Jump to date!',
click: function() {
// Jump to date function
alert('clicked the custom button!');
}
}
},
Это заставит календарь перейти к определенному дню при нажатии:
customButtons: {
myCustomButton: {
text: 'Jump to date',
click: function() {
$("#calendar").fullCalendar('gotoDate', moment());
}
}
},
Как показано, это будет просто перейти к текущей дате (фактически так же, как и к встроенной "сегодняшней" кнопке). Если вы хотите, чтобы он делал что-то другое, вы можете потенциально сделать что-то, что позволит пользователю выбрать дата. Не ясно из вопроса, что именно вы хотите, помимо перехода на (произвольную) дату, поэтому трудно предложить более конкретный совет, что это.
См. Https://fullcalendar.io/docs/current_date/gotoDate/ для получения подробной информации о методе fullCalendar gotoDate.
См. Http://jsfiddle.net/sbxpv25p/82/ для рабочей демонстрации приведенного выше кода.
Да, Адисон ответил на этот вопрос для вас, но просто для уточнения; пример, приведенный в этом ответе, перенесет вас на текущую дату, вам нужно будет создать свой моментный объект со статической датой, если это ваше намерение, например -
date = moment("2018-01-04", "YYYY-MM-DD");
$("#calendar").fullCalendar( 'gotoDate', date );
Или, если вам нужно использовать текущую дату календаря в качестве основы для расчета новой даты, скажем, чтобы перейти на неделю вперед, например, вы могли бы сделать следующее:
currentDate = $('#calendar').fullCalendar('getDate');
newDate = moment(currentDate).add(7, 'days').format();
$("#calendar").fullCalendar( 'gotoDate', newDate );
https://momentjs.com/docs/#/manipulating/ для получения дополнительной информации об управлении объектом moment.js.
$('#calendar').fullCalendar('gotoDate', date); $('#calendar').fullCalendar('changeView', 'agendaDay');