Pour la largeur, nous avons fait le calendrier flexible, d'ajuster avec la conception adaptée, et cela a fonctionné très bien sur les grands écrans:
#calendar {
width: 100%;
margin: 0 auto;
}
Pour toute autre personnalisation (modification de la hauteur ou vue par défaut), l'utilisation l'événement windowResize
intégré pour FullCalendar. L'inconvénient de la réponse acceptée est que la fonction s'exécutera pendant que la fenêtre est redimensionnée, pour chaque changement de pixel. Inversement, les événements windowResize
se déclenchent APRÈS que le redimensionnement est terminé. Maintenant, le problème avec un calendrier réactif est que vous êtes toujours à la merci de la table - un endroit terrible pour être sur un petit écran mobile.
Pour notre projet, nous avons choisi de forcer la vue du jour si un utilisateur était sur un écran plus petit que 769px. Vous pouvez voir notre méthode dans cet exemple. Si cela ne fonctionne pas pour vous, au moins cela vous donnera une direction sur la façon de mettre en œuvre une solution qui fonctionne.
var ww,view;
$(function(){
$('#calendar').fullCalendar({
windowResize: function(view) {
ww = getWindowWidth();
view = getView();
var currentView = $('#calendar').fullCalendar('getView');
if(view != currentView){
$('#calendar').fullCalendar('changeView',view);
}
if(ww <= 768){
$('.fc-header-right .fc-button').hide();
}else{
$('.fc-header-right .fc-button').show();
}
}
});
});
Voici les fonctions référencées ci-dessus:
function getWindowWidth(){
return $(window).width();
}
function getView(){
return (ww <= 768) ? 'basicDay' : 'month';
}
Parfait. Merci pour l'aide! p.s. Je crois que vous avez manqué un '});' .. mais bon! – captainrad