Ankündigung

Einklappen
Keine Ankündigung bisher.

Akkordeon-Inhalt offen und höher als, dann Scroll

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Akkordeon-Inhalt offen und höher als, dann Scroll

    Hej Forum,
    ich möchte einem Akkordeon die Funktion hinzufügen, dass wenn ein Container im geöffneten Zustand des Akkordeons höher ist als Y px, es beim nächsten Aufruf eines im Akkordeon liegenden Container zum Anfang des neu aufgerufenen Containers scrollt.
    Wenn der geöffnete Container kleiner ist als Y px, dann soll keine Scroll-Funktion beim nächsten Aufruf eines Containers aufgerufen werden.

    Der Aufbau: LINK

    Also wenn ihr dort klein - klein klickt, soll es nicht scrollen. Wenn klein - groß auch dann auch nicht. Wenn groß - klein dann ja, so wie bei groß - groß.
    {Accordeon Button (größer), Accordeon Button (kleiner)}

    Das überhaupt ein Scroll ausgeführt wird passt schon, doch das in Abhängigkeit von "wenn größer als dann" leider noch nicht.

    Ich hoffe man kann meinen Worten folgen, und versteht mein Problem.
    Danke im Voraus für Anteilnahme...

    LG Moglie
    Es gibt keine Probleme, nur fehlende Lösungen!


  • #2
    Ich bin ehrlich, das ist nicht auf den Punkt erklärt und ich bin viel zu faul, mich da reinzudenken.

    Also wenn ihr dort klein - klein klickt, soll es nicht scrollen. Wenn klein - groß auch dann auch nicht. Wenn groß - klein dann ja, so wie bei groß - groß.
    {Accordeon Button (größer), Accordeon Button (kleiner)}
    Machst du das an dem Buttontext fest???

    Versuch es doch bitte mal in einfachen Worten, was du da hast, wo dein Problem liegt und wann, wieso, weshalb und wie irgendwas scrollen soll.

    edit: ist der Code denn von dir??!
    I like cooking my family and my pets.
    Use commas. Don't be a psycho.
    Blog - CoverflowJS

    Kommentar


    • #3
      hej rudygotya,
      ok - verstehe ich und versuche es anders.

      frage
      1) ja mach ich an dem button text fest.
      2) ja der code ist von mir.

      grundaufbau ein akkordeon mit mehreren containern, wobei nur ein container zur zeit offen ist (klar das versteht jeder - akkordeon halt) .

      jetzt ist ein inhalt eines akkordeon-containers mit inhalt so voll, das er von der höhe her nicht in das browser-fenster passt. ist ok das kann ich ja nach unten scrollen.

      doch wenn ich jetzt das nächste akkordeon auf mache (das zu große geht jetzt zu), dann verschwindet es aus dem sichtbaren bereich, und ich muss erst nach oben scrollen um es wieder zu sehen. dafür habe ich ein auto-scroll mit drin, damit jenes nicht passiert und die aktiven container am anfang stehen.

      diese funktion möchte ich aber nur auf eine auswahl von containern beschränken, die über eine gewisse höhe sich öffnen.

      kurz gesagt:
      wenn du akkordeon-container (der jetzt geöffnet werden soll) einen geöffneten container findest der höher ist als 500px, dann scrolle zum anfang deines containers. wenn du keinen offenen, oder einen kleineren geöffneten (höhe unter 500px) findest, dann benutze nicht die scroll-funktion, sondern öffne dich einfach.

      gar nicht so einfach es mit worten zu sagen..
      für den allgemeinen scroll:
      Code:
      $('body,html').animate({ scrollTop: $(this).parent('.accordion-container').offset().top - 10 });
      mein versuch es zu beschränken:
      Code:
      if ($(this).parent().siblings().children('.accordion-content').height() > 500 )  {
      			$('body,html').animate({ scrollTop: $(this).parent('.accordion-container').offset().top - 10 });
      		}
      Beispiel

      LG Moglie
      Es gibt keine Probleme, nur fehlende Lösungen!

      Kommentar

      Lädt...
      X