【问题标题】:Automatic Scrolling to current date in timelineWeek view using fullcalendar使用全日历自动滚动到时间线周视图中的当前日期
【发布时间】:2017-11-15 07:08:48
【问题描述】:

我正在使用 Rails 4 和 fullCalendar 并希望实现以下功能:

使用timelineWeek 视图自动将我的“现在”指示器滚动到当前日期时间。我的 Y 轴上有我所有的资源。我在使用timelineWeek 视图实现此功能时遇到问题。有人可以帮忙吗?

我已经尝试了以下代码,但没有任何进展:

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

还用了这个:

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);    

还有这个:

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

上面的代码非常适合议程周视图。唯一的问题是timelineWeek 视图。

【问题讨论】:

  • 上面的代码非常适用于议程周视图,唯一的问题是时间线周视图。
  • 你知道我的问题吗??? @ADyson
  • 不幸的是,AFAIK 你所要求的是不可能的。其实回顾一下scheduler标签,好像我们之前讨论过这个? stackoverflow.com/questions/46558125/…
  • 是的,我知道我们已经讨论过这个....但是无法通过 dat 找到任何解决方案...为什么要问 qstn...我是 fullcalendar 的新手...所以不能做任何黑客......所以如果你有任何想法,请提供一些例子......它会非常好......因为它对我来说非常重要......tnxx对你的rply.. ..!!!!!!!!!!!!!!

标签: jquery ruby-on-rails fullcalendar fullcalendar-scheduler


【解决方案1】:

我已经想出了一个方法来做到这一点,也许可以做一些其他的方法。

我决定将滚动放入 viewRender 函数中,因为它在初始加载和更改日期时都会调用。

现在首先我检查当前时间是否在我的视图中,并且我们设置了插槽宽度。 然后计算直到当前槽的槽数并计算左滚动。根据您的需要修改它:例如我想让它昨天在最左边的负载上显示。

if (moment().isBetween(view.start, view.end) && view.timeGrid.slotWidth !== undefined) {
    var scrollSlots = moment.duration(moment() - view.start) / moment.duration(view.viewSpec.overrides.slotDuration);
    var slotWidth = view.timeGrid.slotWidth;
    var scroll = {left: scrollSlots * slotWidth - $('.fc-time-area').width() / 4};
    view.addScroll(scroll);
}

最终结果:加载时(裁剪掉的资源)。这是 200 slotWidth 的月视图。

【讨论】:

  • tnx for anss...会检查它..!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-28
  • 2019-01-29
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
  • 2020-05-14
相关资源
最近更新 更多