我正在使用http://arshaw.com/fullcalendar/创建一个具有拖放功能的简单日历,我希望是否有任何使用它的经验可以帮助我解决一些问题。
我想要实现的是创建一个可拖动的块,突出显示一组天而不是一天中的日历。我解决这个问题的方法是花一天时间放下块并计算接下来的3天并将其设置为我的结束日期。
//create 3 day block
var threeDayBlock= date;
threeDayBlock.setDate(threeDayBlock.getDate() + 2);
然后将其添加到日历中,如下所示
copiedEventObject.end = threeDayBlock;
然而,一旦我将它放到选定的日期,它将提前3天移动事件。我想要它做的是从我把它放到提前3天的那天进入三天。
以下是jsfiddle http://jsfiddle.net/rayshinn/ZTWgD/3/
中的代码我非常感谢能解决这个问题的任何帮助!谢谢你的阅读。
答案 0 :(得分:1)
正在发生的事情是您正在为对象threeDayBlock
创建一个名为date
的引用。因此,当您更改threeDayBlock
时,您也会更改date
。您需要做的就是复制date
对象而不是引用它:
var threeDayBlock = new Date(date.getTime());
就是这样!
在此处查看:http://jsfiddle.net/ryleyb/ZTWgD/4/
另外,要了解Javascript如何处理被复制的值与引用的值,请参阅here。