jQuery Akkordeon, scrollen Sie den Anfang der angeklickten Registerkarte nach oben, funktioniert nicht, wenn die erweiterte Registerkarte über der geklickt ist?

7

Ich habe ein kleines Problem damit, dass mein jQuery Akkordeon das macht, was ich will.

Ich möchte immer, dass die Registerkarte, auf die geklickt wird, zu einer festgelegten Anzahl von Pixeln vom oberen Rand der Seite gescrollt wird, und ich habe es irgendwie funktioniert. Wenn jedoch die aktive Registerkarte über der Registerkarte liegt, auf die geklickt wird, und wenn die Seite bereits ein wenig nach unten gescrollt ist, wird der obere Teil des Inhalts der angeklickten Registerkarte über den oberen Rand der Seite hinaus gescrollt.

Das habe ich:

%Vor%

Hier ist eine Geige , um mein Problem zu veranschaulichen,

Haben Sie zum Beispiel "Abschnitt 2" erweitert, scrollen Sie nach unten und klicken Sie auf "Abschnitt 3" und alles scrollt von der Seite, anders herum funktioniert es.

Und wenn ich die aktive Registerkarte schließe, bevor ich eine neue öffne, funktioniert das auch gut, also gehe ich davon aus, dass dies etwas mit der Höhe der zusammenklappbaren Registerkarte zu tun hat, die die Scroll-to-Top-Funktion durcheinander bringt!?

Hoffe jemand kann helfen, ich nähere mich wahrscheinlich dem falschen Weg. Ich weiß wirklich nicht, was ich eigentlich mache, da meine Fähigkeiten auf ein grundlegendes Cut-and-Paste-Verständnis beschränkt sind! ^^

Vielen Dank im Voraus und alle Hilfe und Hinweise Bereich mehr als willkommen! :)

Prost

    
Andreas 26.10.2013, 08:49
quelle

2 Antworten

16

Ja, die Höhe des Tabs, das geschlossen wird, ist die Ursache des Problems.

Der obere Teil des angeklickten h3 ändert sich unmittelbar danach, weil ein Tab darüber ausgeblendet wird.

Eine Problemumgehung (vielleicht eine schlechte Lösung) besteht darin, die Bildlaufanimation nach Beendigung der Minimierungsanimation auszulösen, d. h. wenn die Minimierungsanimation auf 300 ms eingestellt ist, starten Sie die Bildlaufanimation nach 310 ms oder so.

%Vor%

Aktualisierte Geige

    
techfoobar 26.10.2013 09:01
quelle
3

Sie können dem Akkordeon eine aktivierte Funktion hinzufügen. Auf diese Weise wird es ausgelöst, sobald die anderen show / hide Animationen abgeschlossen sind.

%Vor%

Der Try-Catch ist erforderlich, da ui.newHeader nicht definiert ist, wenn Sie eine geöffnete Akkordeon-Registerkarte ausblenden.

    
RedEight 30.03.2015 23:13
quelle