Tach!
wäre weniger redundand. Ich hoffe, ich habe keinen cnp-Fehler eingebaut.
So ähnlich und doch anders. Ich brauchte für das die-a-umschließende li einen Anfasser, so dass die Eventhandler mit nur einem Selektor gesetzt werden können:
$('#sortLinks a').click(function() { sortThreads(this); });
Dass ich die Information, wonach sortiert worden ist (var threads_sorted), als wörtlichen Text vorliegen hatte und nicht als die ID der Links, war auch nicht hilfreich. Deshalb hab ich globes sortingMap erweitert und brauch nun auch kein switch mehr.
var sortingMap = {
'sortDesc': {
text: 'neue oben',
func: sortThreadsDesc },
'sortAsc': {
text: 'neue unten',
func: sortThreadsAsc },
'sortPosting': {
text: 'jüngste Antwort oben',
func: sortThreadsPosting }
};
Damit schrumpft die sortThreads() zu:
function sortThreads(what) {
if (what.id == threads_sorted)
return;
sorting(what);
setTimeout(function() {
sortingMap[what.id]['func']();
sorted();
showCurrentThreadValuesToSave();
}, 50);
}
Achja, wonach sortiert wurde sieht man nun an der Fettschrift. Und leider ist nun auch der Wert für die Sortierung in des Browsers localStorage ein anderer, so dass die Einstellung neu gespeichert werden muss - sollte ja nicht schwer sein.
dedlfix.