使用回调隐藏/显示Fullcalendar

时间:2014-01-24 05:35:18

标签: jquery fullcalendar gcal

我正在尝试找到一种隐藏日历的方法(当用户点击next / prev时),同时渲染事件,然后在所有渲染后显示所有内容。问题是日历首先加载,然后事件放在顶部,但我希望它们同时加载。有几种方法似乎在正确的轨道上,但我遇到的困难是针对正确的元素。

加载回调 - http://jsfiddle.net/gmm8b/25/我尝试使用if / else语句隐藏/显示日历,但导致this日历没有事件。隐藏日历时是否可以填充日历?或者我错误地定位隐藏/显示的内容?

loading: function (bool) {
   if (bool) {
     //$('#calendar').hide();
     //alert('The calendar is being populated with events - needs to be hidden');
   } else {
     //$('#calendar').show();
     //alert('Once all the events are rendered - show ');

     // bind to all your events here
   }
},

EventRender - http://jsfiddle.net/gmm8b/27/我尝试的另一件事是使用eventRender回调最终遇到了类似的问题。

eventRender: function ( view ) {
  //$("#calendar").hide();
  //$("#calendar").addClass('hidden');
},

eventAfterRender: function ( view ) {
  //$("#calendar").show();
  //$("#calendar").removeClass('hidden');
},

如果有人可以举例或解释方法,我们将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:2)

关闭可见性而不是隐藏,因为可见性会保留布局并允许事件在适当的位置呈现。然后,一旦完全呈现所有内容,重新打开可见性。

http://jsfiddle.net/gmm8b/32/

loading: function (bool) {
    if (bool) {
        $("#calendar").css({"visibility": "hidden"});
        //alert('Rendering events');
    } else {
        $("#calendar").css({"visibility": "visible"});
        //alert('Rendered and ready to go');
    }
},