Javascript 如何使用户能够在全天和非全天之间自由放置事件?
我想使用户能够自由地将事件从一天放到另一天,或者从一天放到另一天 我有这段eventDrop代码Javascript 如何使用户能够在全天和非全天之间自由放置事件?,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我想使用户能够自由地将事件从一天放到另一天,或者从一天放到另一天 我有这段eventDrop代码 eventDrop: function (event, delta, revertFunc, jsEvent, ui, view, dayDelta, minuteDelta, calEvent, allDay, start, end) { var cCheck = event.start.toJSON().slice(0,10); v
eventDrop: function (event, delta, revertFunc, jsEvent, ui, view, dayDelta, minuteDelta, calEvent, allDay, start, end) {
var cCheck = event.start.toJSON().slice(0,10);
var cToday = new Date().toJSON().slice(0,10);
if(cCheck < cToday){
revertFunc();
alert("You are FORBIDED to drop an event on past dates");
}
else{
if (!confirm("Are you sure you want to move " + event.title + " to this date "+JSON.stringify(event.start)+" ?")) {
revertFunc();
//self.$el.fullCalendar("refetchEvents");
console.log(event);
} else {
var deltaId = event.id;
var deltaStart = event.start;
var deltaEnd = event.end;
var dropDelta = JSON.parse(localStorage["events"]);
for (var i = 0; i < dropDelta.length; i++) {
if(dropDelta[i].id == deltaId){
alert(JSON.stringify(dropDelta[i].id)+"<<<>>>"+deltaId);
alert(JSON.stringify(dropDelta[i].start)+"<<<>>>"+deltaStart);
alert(JSON.stringify(dropDelta[i].end)+"<<<>>>"+deltaEnd);
dropDelta[i].start = deltaStart;
// This is where complicated begins
if(dropDelta[i].allDay == true){
if(deltaEnd == null){
dropDelta[i].allDay == false;
}
else{
dropDelta[i].end = deltaEnd;
}
}
else{
if(deltaEnd == null){
//something happen
}
else{
//something happen
}
}
break;
}
}
localStorage.setItem('events', JSON.stringify(dropDelta));
alert("Successful");
}
}
},
eventDrop:function(事件、增量、恢复函数、jsEvent、ui、视图、日增量、分钟增量、calEvent、全天、开始、结束){
var cCheck=event.start.toJSON().slice(0,10);
var cToday=new Date().toJSON().slice(0,10);
如果(cCheck
我在if语句上遇到问题。我不知道如何使它合乎逻辑。我想得越多,就越糊涂@_@
这是我的创建新事件代码。也许这会帮助你们更多地了解我的问题
select: function (start, end, allDay, event ) {
var cCheck = start._d.toJSON().slice(0,10);
var cToday = new Date().toJSON().slice(0,10);
if(cCheck < cToday){
alert("You are FORBIDED to create event on past dates");
}
else{
var title = prompt('Event Title:');
var index=localStorage.getItem("MaxIndex");
var eventData = [];
if (title) {
eventData = {
id: 'ef'+index++,
title: title,
start: start,
end: end,
//allDay: true,
}
alert(eventData);
self.$el.fullCalendar('renderEvent', eventData, true);
events.push(eventData);
alert(eventData);
localStorage.setItem('MaxIndex', index);
localStorage.setItem('events', JSON.stringify(events));
self.$el.fullCalendar('removeEventSource', eventData );
self.$el.fullCalendar('addEventSource', eventData );
console.log(eventData);
}
}
self.$el.fullCalendar('unselect');
},
选择:功能(开始、结束、全天、事件){
var cCheck=start.\u d.toJSON().slice(0,10);
var cToday=new Date().toJSON().slice(0,10);
如果(cCheck
附加说明:
我使用如果(deltaEnd==null)
是因为每次我将事件从全天放到非全天,结束日期都变为null。忘了提一下,我正在使用fullCalendar