Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery fullCalendar多日活动开始和结束时间_Jquery_Fullcalendar - Fatal编程技术网

Jquery fullCalendar多日活动开始和结束时间

Jquery fullCalendar多日活动开始和结束时间,jquery,fullcalendar,Jquery,Fullcalendar,多日活动很少有一个开始和一个结束时间。例如,伯明翰动漫展可能会持续3天,但你不能在凌晨1点出现!在事件运行的三天中,每一天都有单独的开始和结束时间。我在文档中找不到关于每个事件的多个开始和结束时间的任何信息,还有其他人吗 编辑: 如果有人看到了这一点,并且想要获得相同的功能,我是通过添加“eventlength”和“firstend”、“secondstart”、“secondend”、“thirdstart”作为JSON值来实现的。这对我来说很有效,因为我所有的活动都不会超过三天。”event

多日活动很少有一个开始和一个结束时间。例如,伯明翰动漫展可能会持续3天,但你不能在凌晨1点出现!在事件运行的三天中,每一天都有单独的开始和结束时间。我在文档中找不到关于每个事件的多个开始和结束时间的任何信息,还有其他人吗

编辑:

如果有人看到了这一点,并且想要获得相同的功能,我是通过添加“eventlength”和“firstend”、“secondstart”、“secondend”、“thirdstart”作为JSON值来实现的。这对我来说很有效,因为我所有的活动都不会超过三天。”eventlength'只是一个数字(1、2或3),其余的是时间/日期

在fullCalendars eventClick部分中,我有一个if语句,它循环遍历各种可能的事件长度并显示适当的值

$startDf = 'ddd Do H:mma';
$endDf = 'H:mma';

if(calEvent.eventlength == 2){
  $this.find('#event__info .event-date').text((calEvent.start).format($startDf) + ' - ' + moment(calEvent.firstend).format($endDf) + '\n' + moment(calEvent.seccondstart).format($startDf) + ' - ' + (calEvent.end).format($endDf));} 
else if(calEvent.eventlength == 3){
  $this.find('#event__info .event-date').text((calEvent.start).format($startDf) + ' - ' + moment(calEvent.firstend).format($endDf) + '\n' + moment(calEvent.seccondstart).format($startDf) + ' - ' + moment(calEvent.seccondend).format($endDf) + '\n' + moment(calEvent.thirdstart).format($startDf) + ' - ' + (calEvent.end).format($endDf));} 
else {
  $this.find('#event__info .event-date').text((calEvent.start).format($startDf) + ' - ' + (calEvent.end).format($endDf));}
这将三天的活动显示为日历上的一个活动,但会输出以下内容,我认为这比有三个单独的一天活动更有意义,或者是一个从第一天上午10点到第三天下午4点连续开放的活动

星期日28日上午10:00至晚上22:00

星期一29日上午10:00-下午16:00

星期二30日上午10:00-下午16:00

如果同一个“事件”有多个开始/结束时间,则fullCalendar将其视为单独的事件。如果有多天的事件,只需创建不同的事件并为其分配相同的Id

:

字符串/整数。可选的

唯一标识给定事件。重复的不同实例 所有事件都应该具有相同的id

您的事件列表可能类似于:

var myEvents =  {
        title: "Birmingham Comic Con",
        start: new Date('2014-11-20T09:00'),
        end: new Date('2014-11-20T19:00'),
        id: 1
    }, {
        title: "Birmingham Comic Con",
        start: new Date('2014-11-21T09:00'),
        end: new Date('2014-11-21T19:00'),
        id: 1
    },
    {
        title: "Birmingham Comic Con",
        start: new Date('2014-11-22T09:00'),
        end: new Date('2014-11-22T19:00'),
        id: 1
    }
因此,如果您以后必须更新您的多日事件,只需按Id引用该事件即可

你可以查一下

评论后更新: 如果您真的想将事件维护为只有一个事件、多天只有一个事件的事件,您可以将自己的属性添加到事件对象中,但稍后您应该做额外的工作。对于EAX示例:

  • 自定义类,以便在漫画大会关门时显示不同的类
  • 在打开或关闭期间单击事件时,处理事件回调以更改方法
无论如何,您的活动可能是这样的:

    var myEvent = {
        title: "Birmingham Comic Con",
        start: new Date('2014-11-20T09:00'),
        end: new Date('2014-11-22T19:00'),
        id: 1, 
        isMultipleDay: true, 
        multipleDayEvents: [
          {start: new Date('2014-11-20T09:00'), 
            end: new Date('2014-11-20T19:00'), 
            description: 'Day 1'
          }, 
          {
            start: new Date('2014-11-21T09:00'),
            end: new Date('2014-11-21T19:00'),
            description: 'Day 2'
          }, 
          {
            start: new Date('2014-11-22T09:00'),
            end: new Date('2014-11-22T19:00'),
            description: 'Day 3'
          }
        ]
    }

fullCalendar的文档不建议使用此选项。我不确定我应该尝试什么。我在文档中看到了这一点,我正在寻找一种方法,将它们作为一个事件,包含多个与它们相关的开始和结束时间数据。我想我可以创建一组虚拟数据,以便稍后提取,因此事件以一个开始时间和结束时间跨越所有三天,但在第一天、第二天、第三天有单独的字段,以及每天的开始时间和结束时间,因此当单击事件时,它会显示所有这些信息。这似乎是一个犹太人区的方式。我认为这是一个真正不同的方法,从fullCalendar标准的角度来看。但是,当然,你可以做很多额外的工作。我已经在你的评论后更新了答案。