2014-03-12 69 views
1

我正在使用FullCalendar和Date.js設置每週議程。我也在使用fullCalendar jQuery, repeat every monday?的答案進行重複性事件 - 但我正在努力將這些事件轉換爲特定時間,而不是整天。FullCalendar中的重複定時事件

var date = new Date(); 
var d = date.getDate(); 
var m = date.getMonth(); 
var y = date.getFullYear(); 

$('#calendar').fullCalendar({ 
    defaultView: 'agendaWeek' 
}); 

// adding a every monday and wednesday events: 
$('#calendar').fullCalendar('addEventSource',   
    function(start, end, callback) { 
     // When requested, dynamically generate virtual 
     // events for every monday and wednesday. 
     var events = []; 

     for (loop = start.getTime(); 
      loop <= end.getTime(); 
      loop = loop + (24 * 60 * 60 * 1000)) { 

      var test_date = new Date(loop); 

      if (test_date.is().monday()) { 
       events.push({ 
        title: 'Meeting', 
        start: test_date 
       }); 
      } 
     } // for loop 

     // return events generated 
     callback(events); 
    } 
); 

我試圖改變「如果」沒有運氣檢查時間,同時,我已經嘗試設置test_date變量的時候,都沒有成功。

我很感激幫助。

回答

0

您必須添加allDay: false

if (test_date.is().monday()) { 
    events.push({ 
    title: 'Meeting', 
    start: test_date, 
    allDay: false 
    }); 
} 
1

謝謝,蘇萊曼,那是有益的。我也不得不拋棄date.js - 它不再處於開發階段,許多功能都被破壞了。這是我達成的完整解決方案。

var date = new Date(); 
var d = date.getDate(); 
var m = date.getMonth(); 
var y = date.getFullYear(); 

$('#calendar').fullCalendar({ 
    defaultView: 'agendaWeek', 
    defaultEventMinutes: 45, 
    editable: false 
}); 

$('#calendar').fullCalendar('addEventSource',   
    function(start, end, callback) { 
     // When requested, dynamically generate virtual events for every monday and wednesday. 
     var events = []; 

     // checks every 30 minutes, rather than 24 hours 
     for (loop = start.getTime(); loop <= end.getTime(); loop = loop + (30 * 60 * 1000)) { 

      var test_date = new Date(loop); 

      if (test_date.getDay() === 1 && test_date.getHours() === 11 && test_date.getMinutes() === 30){ 
       events.push({ 
        title: 'Meeting', 
        start: test_date 
        allDay: false 
       }); 
      } 
     } // for loop 

     // return events generated 
     callback(events); 
    } 
);