0

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

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

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');
},

如果有人可以举个例子或解释一种方法,将不胜感激。

谢谢你。

4

1 回答 1

4

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

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');
    }
},
于 2014-01-24T07:32:50.420 回答