Große Lösung! Ich habe es benutzt und für meine Bedürfnisse angepasst. Ich verwende JSON-Feeds.
Wichtig: Die erste Bedingung besteht darin, sicherzustellen, dass alle Ereignisse nach Startdatum sortiert sind.
Dann, wenn Sie nach Titel sortiert werden sollen:
function segCmp(a, b) {
var tryCmp = (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
if (tryCmp == 0) {
return (a.event.title.toLowerCase() >= b.event.title.toLowerCase()) ? 1: 0;
}
return tryCmp;
}
Ich habe es auch eine andere Art und Weise. Ich habe jedem Ereignis des JSON-Feeds 'colOrder' ein benutzerdefiniertes Attribut hinzugefügt (es könnte alles sein) und gab ihm ganzzahlige Werte (1,2,3 ...). 1 ist für das erste Ereignis, das ich sehen möchte, 2 für das zweite ...
Dann habe ich die Funktion angepasst, um das colOrder-Attribut zu verwenden, um die Ereignisse zu sortieren.
function segCmp(a, b) {
var tryCmp = (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
if (tryCmp == 0) {
if (!isNaN(a.event.colOrder) && !isNaN(b.event.colOrder))
return (a.event.colOrder - b.event.colOrder);
}
return tryCmp;
}
wir brauchen etwas Code ... Tabellenstruktur zum Beispiel; -) ... Beispieldaten. – thedom