我正在尝试找到一种隐藏日历的方法(当用户点击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');
},
如果有人可以举例或解释方法,我们将不胜感激。
谢谢。
答案 0 :(得分:2)
关闭可见性而不是隐藏,因为可见性会保留布局并允许事件在适当的位置呈现。然后,一旦完全呈现所有内容,重新打开可见性。
loading: function (bool) {
if (bool) {
$("#calendar").css({"visibility": "hidden"});
//alert('Rendering events');
} else {
$("#calendar").css({"visibility": "visible"});
//alert('Rendered and ready to go');
}
},