Javascript FullCalendar-是否可以更改结束时间的位置?

Javascript FullCalendar-是否可以更改结束时间的位置?,javascript,jquery,css,fullcalendar,Javascript,Jquery,Css,Fullcalendar,看看代码,我找不到一个非常简单的方法来实现这一点。原因是,当您添加结束时间时,它将添加到开始时间跨度,因此我提出了以下解决方案: $('#cal').fullCalendar({ 'events': test, 'timeFormat': 'H:mm - {H:mm}' }); $('.fc-event-time').each(function() { var obj = $(this); var parent = $(this).parent(); v

看看代码,我找不到一个非常简单的方法来实现这一点。原因是,当您添加结束时间时,它将添加到开始时间跨度,因此我提出了以下解决方案:

$('#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>');
});

这需要添加更多的逻辑,每个事件都会调用event render,因此当添加完成时间跨度时,下次循环运行时,它会尝试分割完成时间,因此停止添加类
finish moved
,这样它就不会再次受到影响


根据的评论再次更新:

调用回调时,它将传递它影响的对象,因此您可以对其进行“操作”,而不是运行多个循环:

$('#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>');
}
$('#cal')。完整日历({
“事件”:测试,
“eventRender”:渲染器,
'timeFormat':'H:mm-{H:mm}',
});
功能渲染器(e,a){
var startObj=$(a).find('.fc事件时间');
var time=$(startObj.text().split('-');
$(startObj).text(时间[0]);
$(a).find('.fc事件内部').append(''+time[1]+'');
}


这是一个非常类似的主体,只是对调用回调的事件进行操作,因此应该不会太耗费资源。

仔细看代码,我找不到一个非常简单的方法来实现这一点。原因是,当您添加结束时间时,它将添加到开始时间跨度,因此我提出了以下解决方案:

$('#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>');
});

这需要添加更多的逻辑,每个事件都会调用event render,因此当添加完成时间跨度时,下次循环运行时,它会尝试分割完成时间,因此停止添加类
finish moved
,这样它就不会再次受到影响


根据的评论再次更新:

调用回调时,它将传递它影响的对象,因此您可以对其进行“操作”,而不是运行多个循环:

$('#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>');
}
$('#cal')。完整日历({
“事件”:测试,
“eventRender”:渲染器,
'timeFormat':'H:mm-{H:mm}',
});
功能渲染器(e,a){
var startObj=$(a).find('.fc事件时间');
var time=$(startObj.text().split('-');
$(startObj).text(时间[0]);
$(a).find('.fc事件内部').append(''+time[1]+'');
}


这是一个非常类似的主体,只是对调用回调的事件进行操作,因此应该不会太耗费资源。

您可以将其转换为一个eventRender钩子,该钩子可能会更改渲染时的样式。@justkt-我注意到这一点,即它可以在页面加载时工作,但不会在视图更改时工作,因此,我只是在寻找正确的回调,并发现你的评论欢呼!我已经补充了上面的答案@史酷比-看起来不错。就我个人而言,我会挂接到,这样它只会发生在新呈现的事件上,并在提供的元素参数上对其进行作用域,但您所做的看起来是有效的。@justkt-我已再次更新,因此它只会影响调用回调的事件-再次为指针干杯!非常感谢!我将在星期一回去工作时测试它:)你可以将它转换成一个eventRender钩子,它可能会在渲染时改变样式。@justkt-我注意到这个事实,它可以在页面加载时工作,但不能在视图更改时工作,所以我只是在寻找正确的回调来钩住它,并发现了你的评论欢呼声!我已经补充了上面的答案@史酷比-看起来不错。就我个人而言,我会挂接到,这样它只会发生在新呈现的事件上,并在提供的元素参数上对其进行作用域,但您所做的看起来是有效的。@justkt-我已再次更新,因此它只会影响调用回调的事件-再次为指针干杯!非常感谢!我将在周一回去工作时测试它:)是的,你必须做一些样式修改。你现在可以发布它的样式吗?是的,你必须做一些样式修改。你现在可以发布它的样式吗?