Делаете fullcalendar прокручивать до текущего времени? - PullRequest
8 голосов
/ 23 июля 2010

Проще говоря, есть ли способ прокрутить полный календарь до текущей позиции времени в представлении недели?

Если это поможет, я использую Ruby on Rails и jQuery

Ответы [ 6 ]

10 голосов
/ 23 июля 2010

Вы имеете в виду, что вы хотите, чтобы календарь отображался автоматически с центром вокруг текущего времени дня (времени рендеринга)?

Предполагая, что вы счастливы, что столбцы дня всегда находятся в одном и том же местеэто опция firstHour в представлении agendaWeek, которая может работать для вас.

Для иллюстрации, давайте предположим, что количество часов на оси Y в вашем представлении равно 10, тогда что-то вроде:

var firstHour = new Date().getUTCHours() - 5;
$('#calendar').fullCalendar({
  firstHour: firstHour;
});

Более подробная информация по элементам управления представления доступна здесь

7 голосов
/ 04 мая 2017

Это то, что я использовал для прокрутки до текущего времени в представлении:

var scrollTime = moment().format("HH:mm:ss");
$('#calendar').fullCalendar({
    now: today,
    scrollTime: scrollTime
});

Для целей UX, Я округлился до ближайшего часа , чтобы пользователь мог ясно видеть, где(когда) представление календаря:

var scrollTime = moment().format("HH") + ":00:00";
$('#calendar').fullCalendar({
    now: today,
    scrollTime: scrollTime
});

Проверьте параметр fullCalendar scrollTime.

7 голосов
/ 03 сентября 2014

На v2 это изменилось, вот как это сделать в этой новой версии:

$('#calendar').fullCalendar({
    defaultView: 'agendaWeek',
    scrollTime: '09:00:00'
});
2 голосов
/ 27 марта 2018

Если вам нужно установить параметры динамически (после того, как календарь уже был инициализирован), то правильный способ сделать это - использовать эту ссылку

var scrollTime = '10:00:00'; //replace this any time you need
$('#calendar').fullCalendar('option', 'scrollTime', scrollTime);
1 голос
/ 16 сентября 2012

У меня была похожая проблема, и я решил ее с помощью этого решения ...

setTimeout(function(){ // Timeout
    $(".fc-today").attr("id","scrollTo"); // Set an ID for the current day..
    $("html, body").animate({
        scrollTop: $("#scrollTo").offset().top // Scroll to this ID
    }, 2000);
}, 500);    
0 голосов
/ 23 июля 2010

Используйте функцию сегодня :

$('#calendar').fullCalendar('today');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...