it-swarm-eu.dev

Der beste Weg, um Elemente zu einer paginierten Liste hinzuzufügen

Ich habe eine lange Liste von Artikeln, sortiert nach Datum, die pageable ist. Wenn ein Benutzer ein Element hinzufügt, wird es in der Liste angezeigt und hervorgehoben. Das Problem, das ich habe, ist, dass das eingegebene Datum sich darauf auswirkt, wo es in der Liste landet. Meistens wird es in der einfachen Ansicht oben hinzugefügt, aber es kann auf einer anderen Seite landen, als der Benutzer gerade ist.

Wäre es verwirrender, den Benutzer zu dieser Seite zu führen, oder verwirrender, ihn auf seiner aktuellen Seite zu belassen, ohne das neue Element zu sehen, das er eingegeben hat? Oder gibt es einen besseren Weg, an den ich nicht gedacht habe?

17
Josh Johnson

Sie können das neue Element unter/über der aktuell angezeigten Liste anzeigen, jedoch getrennt, damit klar ist, dass das Element nicht auf diese Seite gehört.

 1. Make a to-do list       Today
 2. New year's resolution   Jan 1
 3. Join the gym            Jan 2
 4. Answer a UI.SE question Jan 2
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^
17. Stop procrastinating    Apr 1 

Page [1] 2 3 4 5
11

Ich würde es vorziehen, die Liste (oder Seite ändern, dann Liste durchblättern) an die Stelle zu scrollen, an der das Element hinzugefügt wurde, wenn das Ändern der Sortierreihenfolge keine Option ist, dies den Benutzer jedoch davon abhält von der Seite, die er betrachtete.


Andernfalls könnte für etwas, das den Benutzer benachrichtigt, ohne ihn von dem, was er tut, abzubringen, wenn Sie unten eine Paginierung haben, ein schneller Farbblitz auf der Seitenzahl angezeigt werden, wo es hinzugefügt wurde.

Visuelles Beispiel: Wenn Sie Ihre Nachricht in StackExchange bearbeiten, blinkt Ihre Nachricht orange, wenn Sie zurück zum Thread umgeleitet werden.


Zum Beispiel hat es in letzter Zeit in einer Oberfläche mit Registerkarten recht gut funktioniert, in der der Benutzer möglicherweise eine andere Seite betrachtet, sobald das Element zur Ergebnisseite hinzugefügt wird: Standardmäßig wurde zur Ergebnisliste gewechselt und zur Seite gescrollt Speicherort, an dem es hinzugefügt wurde, und dann einblenden, um den Benutzer darauf aufmerksam zu machen, dass es erstellt wurde.

Es gab jedoch einen Fall, in dem das Wechseln der Seite nicht zulässig war (da das Hinzufügen des Elements Teil eines Prozesses war, bei dem das hinzugefügte Element nicht das war, worauf sich der Benutzer konzentrieren sollte), sodass stattdessen die Registerkarte "Hintergrund" für den Benutzer blinkt Beachten Sie instinktiv die Aktivität, da keine andere Animation gleichzeitig ausgeführt wird, und das nimmt ihn nicht von dem ab, was er tut.


Hier ist ein kurzes Beispiel für eine Abfrage (abhängig vom Farbmodul):

jQuery.fn.flash = function(options_){
    var options = {
        backgroundColor: "#6AB5FF",
        textColor: "#FFFFFF",
        complete: false,
        duration: 1000,
        queue: true
    };
    jQuery.extend(options, options_);
    var obj = $(this).stop(true, true);
    var params = {
        queue: options.queue,
        backgroundColor: obj.css("background-color"),
        color: obj.css("color")
    };
    obj
     .css('background-color', options.backgroundColor)
     .css('color', options.textColor)
     .animate(params, options.duration, options.complete);
};

// Usage example
$("#page3").flash();
4
wildpeaks

Ich würde ein Popup anzeigen (Item "foo" added here) über der Nummer der Seite, auf der das neue Element eingefügt wurde.

1
thSoft

Ich würde einen Filter namens "Zuletzt hinzugefügt" hinzufügen, der den Datumssortierungsfilter ergänzt.

Im Hinzufügungsschritt würde ich standardmäßig den Filter "Zuletzt hinzugefügt" festlegen, wodurch das hervorgehobene Element immer oben bleibt.

Dieser Filter erleichtert dem Benutzer das Verfolgen der zuletzt hinzugefügten Einträge, behält jedoch die Vorteile anderer Sortiermethoden im Analyseschritt bei.

1