Scrollposition übergeben funktioniert nicht

  • Hallo Experten,

    ich verzweifle hier daran, einem Content nach dem reload die ursprüngliche Position des Scrollbalkens zu übergeben.

    Meine Arbeit bisher sieht folgendemaßen aus:

    Die index.php enthält:

    Der Content, dessen Pfad in der Variable contentPath gespeichet ist, enthält folgenden code:



    Ich frage quasi nach jedem mal, wenn die Maustast losgelassen wird ab, an welcher Position sich die Scrollbalken befinden uns speichere sie in den Variablen left, middle und right.

    Nach jedem refresh existiert zwar der Variablenwert (wird im alert ausgegeben), wird aber nicht durch die .schrollLeft(x) Funktion an den Scrollbalken zurückgegeben.

    Was mache ich falsch?

    Das gesamte Projekt lasst sich hier betrachten.

    Bin für jede Hilfe dankbar.

    Gruß,
    Berndi

  • Habe ich gefunden.

    Wahrscheinlich feuert das document-ready nur, wenn die ganze Seite fertig ist und nicht, wenn Du einen Teilbereich mit jQuery-load nachlädst. Versuche, das Setzen der Scrollposition in den Callback für das load zu verschieben:

    (ungetest, ich hoffe, ich habe mich bei den Klammern nicht verlaufen).

  • Mir scheint, da sind die Klammern nicht richtig gesetzt und den Callback brauchst Du in beiden Zweigen des if:

    So sollte es richtig sein:

    Die URL und die anonyme Funktion sind beide Parameter von load(():

  • ... oder etwas kürzer ohne doppelten Code:

  • Danke für deine Hilfe.
    Ich weiß das wirklich zu schätzen.

    Leider funktioniert auch dieser Code nicht.

    Ich habe das Gefühl, als würde .scrollLeft(x) einfach nicht funktionieren. :(

    Der Wert ist innerhalb der Funktion vorhanden, korrekt übergeben.
    Das wurde ja mit alert(middle) verifiziert.

    Es gibt im Caroussell ja mehrere div.block-row-left, -middle und -right.

    Deshalb habe ich auch schon versucht es etwas differenzierter anzugeben.

    Das hatte aber auch keinen Effekt.

    Ich bin hier echt am Haare raufen.

  • Zur Sicherheit habe ich mal gegoogelt: jQuery-document-ready feuert nicht, wenn Inhalte durch Ajax nachgeladen werden:

    https://stackoverflow.com/ques…tent-get-a-document-ready

    Dies führt zu einem Problem mit dem Javascript, das mitgeladen wird, wo die Eventlistener für Mouseup registriert werden. Offenbar findet das gar nicht statt. Du kannst es überprüfen, indem du in diesem Codeabschnitte ein console.log einfügst.

    Lösung, indem Du die Eventlistener ebenfalls im complete-Callback registrierst:

  • Habe es hinbekommen.

    Ich musste vor die Klassenbezeichnug das div schreiben.
    Ohne hat es seltsamerweise nicht funktioniert.


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!