回答
看代码,我找不到一个非常简单的方法来做到这一点。原因是,当您添加的结束时间将其添加到开始时间跨度,所以这里是我想出了一个解决方案:
$('#cal').fullCalendar({
'events': test,
'timeFormat': 'H:mm - {H:mm}'
});
$('.fc-event-time').each(function() {
var obj = $(this);
var parent = $(this).parent();
var time = $(this).text();
var start = time.split(' - ')[0];
var finish = time.split(' - ')[1];
obj.text(start);
parent.append('<span class="fc-event-time" style="float: right;">' + finish + '</span>');
});
- 首先,添加
'timeFormat'
日历(我假设你已经拥有它要显示的完成时间),给次分离-
(这将允许两次分裂)- 注意任何时间内
{}
将是结束时间。
- 注意任何时间内
- 接着得到jQuery来循环通过每个元件与类
fc-event-time
(其由fullCalendar加到时间)。 - 现在我们需要掌握时间的父母,以便稍后添加元素。
- 下获得的时间和分离的
-
(空间破折号空间) - 现在设置的原始持有人有两个起点和终点所以它仅仅是个开始。
- 现在将另一个跨度元素添加到父级,这是事件的标题,但将其浮动到右侧并添加结束时间。
按justkt的意见,这让我想到,上面贴只会在页面加载时运行的方法,所以当你改变了看法,就不会再运行。
为了解决这个问题,加上当事件被渲染的回调:
$('#cal').fullCalendar({
'events': test,
'eventRender' : renderEvents,
'timeFormat': 'H:mm - {H:mm}',
});
function renderEvents(){
$('.fc-event-time').each(function() {
var obj = $(this);
if (!obj.hasClass('finish-moved')) {
var parent = $(this).parent();
var time = $(this).text();
var start = time.split(' - ')[0];
var finish = time.split(' - ')[1];
obj.text(start);
parent.append('<span class="fc-event-time finish-moved" style="float: right;">' + finish + '</span>');
obj.addClass('finish-moved');
}
});
}
这需要多一点的逻辑添加到它,事件渲染似乎是要求每个事件,所以当完成时间跨度被添加,下一次循环运行它会尝试分割完成时间,所以停止添加类finish-moved
,以便它不再受到影响。
另一个更新为每justkt“再次感言:
当回调被调用时会通过它影响的对象,这样你就可以‘上只是工作’,而不是运行多个循环:
$('#cal').fullCalendar({
'events': test,
'eventRender': renderEvents,
'timeFormat': 'H:mm - {H:mm}',
});
function renderEvents(e, a) {
var startObj = $(a).find('.fc-event-time');
var time = $(startObj).text().split(' - ');
$(startObj).text(time[0]);
$(a).find('.fc-event-inner').append('<span class="fc-event-time" style="float: right;">' + time[1] + '</span>');
}
这是一个非常相似的校长,才刚刚运行在其上叫个事件e回调所以应该减少资源饥饿。
您可以将其转换为可以更改渲染样式的eventRender挂钩。 – justkt 2011-04-07 13:57:53
@justkt - 我对这个事实说明了这一点,它可以在页面加载时起作用,但不会影响视图的变化,所以只是寻找正确的回调来挂钩并发现你的评论欢呼!我已经添加到上面的答案! – Scoobler 2011-04-07 14:15:36
@Scoobler - 看起来不错。就我个人而言,我会挂钩到[eventRender](http://arshaw.com/fullcalendar/docs/event_rendering/eventRender/),以便它只会发生在新提供的事件中,并将其范围在提供的元素参数上,但是您看起来工作。 – justkt 2011-04-07 14:33:54
- 1. FullCalendar开始/结束时间可见?
- 2. 是否可以在滑动时更改gridview图像的位置?
- 3. 是否可以结束OO?
- 4. Fullcalendar显示事件的结束时间
- 5. Fullcalendar以固定的结束时间添加事件
- 6. 是否可以更改EF Migrations“Migrations”文件夹的位置?
- 7. 是否可以在richtextbox中更改文本的位置?如何?
- 8. 是否可以在qwt中更改轴的位置?
- 9. FullCalendar - 是否可以更改/添加文本?
- 10. 是否可以更改dnx/dotnetcore软件包缓存位置
- 11. 是修改过程的开始时间还是结束时间
- 12. 是否可以检测JavaScript打开窗口的位置何时更改?
- 13. wp7:当我的位置更改时,是否可以自动触发?
- 14. 是否可以实时更改菜单?
- 15. 是否可以更改Android中的显示时间?
- 16. 是否可以在动画重复中更改ValueAnimator的开始/结束值?
- 17. 在d3中,是否可以动态更改路径位置开始补间的位置?
- 18. 时间轴横幅 - 是否可以使用api更改?
- 19. FullCalendar FullCalendar:在放置功能中设置事件结束
- 20. 是否可以为旋转和位置分配约束?
- 21. 更改按钮位置的时间
- 22. 是否可以在事件处理程序启动期间和结束期间一次更改视图?
- 23. 'Action'方法结束之前是否可以'更新'Ui组件?
- 24. Android:日历活动开始/结束时是否可以通知?
- 25. 是否可以更改“可配置表单”的大小?
- 26. SweepGradient更改开始和结束颜色的位置
- 27. FullCalendar FullCalendar:更改活动开始日期和时间格式
- 28. 是否可以更改喜欢页面后出现的Facebook框的位置?
- 29. UIScrollView根据时间更改位置
- 30. 是否可以更改UISearchBar占位符的对齐方式?
是的可能 – TJHeuvel 2011-04-07 09:38:06
是的,你必须做一些风格修改。你现在可以发布它的风格吗? – Luci 2011-04-07 11:28:58