Scroll zu View-Ergebnissen nachdem Filter angewendet ist
am 30.01.2023 - 10:25 Uhr in
Hallo,
ich habe auf einer D9 Seite eine View mit vielen Filtern. Die Filter sind über der Ergebnis-Tabelle dargestellt. Da es viele Filter sind, sieht man die Tabelle nicht sofort. Daher sollte der User nach dem Anwenden eines Filters auf die Ergebnisse geleitet werden. Aktuell wird sie Seite neu geladen und der Fokus ist auf den Filtern. Ajax kann ich nicht verwenden.
Meine Versuch:
(function ($) {
'use strict';
$(document).ready(function() {
if( $('.views-table').length ){
$("html, body").animate({ scrollTop: $(".views-table").offset().top }, "slow");
}
});
}(jQuery));
Dieser Code funktioniert generell bis auf die Tatsache, dass er auch beim initialen Aufruf der View-Seite angewendet wird. Beim ersten Aufruf sollte der Fokus auf den Filtern sein.
Hat jemand eine Idee, wie man das machen kann? Was mit auch helfen würde, ist das Hinzufügen eines Klasse zur gefilteren View-Tabelle. Die Klasse sollte nur hinzugefügt werden, wenn ein Filter angewandt wird. Dann würde der Code oben funktionieren.
- Anmelden oder Registrieren um Kommentare zu schreiben
Du könntest eine Abfrage
am 28.03.2023 - 08:19 Uhr
Du könntest eine Abfrage machen mit hasClass, ob diese Klasse, von der Du redest, gesetzt ist, wenn nicht, dann setze sie.
Ich vermute dass es so funktioniert, weil Du schreibst "Die Klasse sollte nur hinzugefügt werden, wenn ein Filter angewandt wird. Dann würde der Code oben funktionieren."
Oder kannst Du nicht mit dem OnSubmit Event arbeiten und obigen Code nur ausführen, wenn das exposed-Filter-Form submitted wird?
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de