我正在使用http://arshaw.com/fullcalendar/创建一个具有拖放功能的简单日历,我希望任何有使用经验的人都能帮助我解决我的问题。
我试图实现的是创建一个可拖动的块,突出显示一组日子,而不是日历上的一天。我解决这个问题的方法是从我放下区块的那一天算起接下来的3天,并将其设定为我的结束日期。
//create 3 day block
var threeDayBlock= date;
threeDayBlock.setDate(threeDayBlock.getDate() + 2);
然后将其添加到压延机中,如下所示
copiedEventObject.end = threeDayBlock;
然而,一旦我把它放在选定的日期,它就会把活动提前3天。相反,我想让它进入一个三天的区块,从我放下它的那一天到前三天。
这是我在jsfiddle中的代码http://jsfiddle.net/rayshinn/ZTWgD/3/
我真的很感激能为我解决这件事提供任何帮助!感谢您的阅读。
发生的事情是,您正在创建一个名为threeDayBlock
的对对象date
的引用。因此,当您更改threeDayBlock
时,您也在更改date
。您所需要做的就是复制date
对象,而不是引用它:
var threeDayBlock = new Date(date.getTime());
就是这样!
请在此处查看它的工作情况:http://jsfiddle.net/ryleyb/ZTWgD/4/
此外,要了解Javascript如何处理被复制和引用的值,请参阅此处。