2012-08-03 30 views

回答

0

好,我找到了解決辦法:

首先在fullcalendar改變功能segCollide(SEG1,SEG2)到:

function segsCollide(seg1, seg2) { 
    if(seg1.allowCollision || seg2.allowCollision) 
    { 
     return false 
    } 
    else 
    { 
     return seg1.end > seg2.start && seg1.start < seg2.end; 
    } 
} 

而且sliceSegs()到:

function sliceSegs(events, visEventEnds, start, end) { 
    var segs = [], 
       i, len=events.length, event, 
      eventStart, eventEnd, 
      segStart, segEnd, 
     isStart, isEnd; 
    for (i=0; i<len; i++) { 
     event = events[i]; 
     allowCollision = event.source.allowCollision; 
     eventStart = event.start; 
     eventEnd = visEventEnds[i]; 
     if (eventEnd > start && eventStart < end) { 
      if (eventStart < start) { 
       segStart = cloneDate(start); 
       isStart = false; 
      }else{ 
       segStart = eventStart; 
       isStart = true; 
      } 
      if (eventEnd > end) { 
       segEnd = cloneDate(end); 
       isEnd = false; 
      }else{ 
       segEnd = eventEnd; 
       isEnd = true; 
      } 


      segs.push({ 
      event: event, 
       start: segStart, 
       end: segEnd, 
       allowCollision: allowCollision, 
       isStart: isStart, 
       isEnd: isEnd, 
       msLength: segEnd - segStart 
      }); 
     } 
    } 
    return segs.sort(segCmp); 
}