Für Breite haben wir den Kalender flexibel, mit dem ansprechenden Design anzupassen entlang, und es funktionierte recht gut auf größere Displays:
#calendar {
width: 100%;
margin: 0 auto;
}
Für jede andere Anpassung (Ändern Höhe oder Standardansicht), Verwendung das integrierte Ereignis windowResize
für FullCalendar. Der Nachteil der akzeptierten Antwort ist, dass die Funktion bei jeder Größenänderung des Fensters WHILE ausgeführt wird. Umgekehrt wird das Ereignis windowResize
nach dem Abschluss der Größenänderung ausgelöst.
Das Problem mit einem reaktionsschnellen Kalender ist, dass Sie immer noch dem Tisch ausgeliefert sind - ein schrecklicher Ort auf einem kleinen mobilen Bildschirm.
Für unser Projekt erzwingen wir die Tagesansicht zu erzwingen, wenn ein Benutzer auf einem Bildschirm kleiner als 769px war. Sie können unsere Methode in diesem Beispiel sehen. Wenn es für Sie nicht funktioniert, gibt es Ihnen zumindest eine Anleitung, wie Sie eine Lösung implementieren können, die dies tut.
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();
}
}
});
});
Hier sind die Funktionen, die oben verwiesen wird:
function getWindowWidth(){
return $(window).width();
}
function getView(){
return (ww <= 768) ? 'basicDay' : 'month';
}
Perfekt. Danke für die Hilfe! p.s. Ich glaube, du hast ein zusätzliches '}) verpasst;' .. aber s'all gut! – captainrad