Ankündigung

Einklappen
Keine Ankündigung bisher.

Javascript / JQuery : automatisch nach unten scrollen

Einklappen

Neue Werbung 2019

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

  • Javascript / JQuery : automatisch nach unten scrollen

    Guten Abend ,
    ich arbeite zur Zeit an einem Script . In einer HTML Div gibt es mit Hilfe von Overflow : auto ein Scrollbar. Ich füge hier Content aus einer PHP -Datei ein (mithilfe von Ajax). Nun möchte ich immer bei Content Update nach unter scrollen.
    Dafür nutze ich :
    Code:
     
     var objDiv = document.getElementById("your_div");   
     setInterval (function () {objDiv.scrollTop = objDiv.scrollHeight;},0)
    Das Problem ist wenn ich scrolle wird der Scroller immer automatisch nach unten gesetzt. Wie kann ich sowas verhindern? Ich habe auch JQuery zur Verfügung.
    Bin für jede Hilfe dankbar.

  • #2
    Du könntest folgenden Code in deine success - Funktion einfügen, nachdem du den Content per AJAX in das DIV gesetzt hast:

    Code:
    var d = $('#div1');
    d.scrollTop(d.prop("scrollHeight"));

    Kommentar


    • #3
      Zitat von michga93 Beitrag anzeigen
      Du könntest folgenden Code in deine success - Funktion einfügen, nachdem du den Content per AJAX in das DIV gesetzt hast:

      Code:
      var d = $('#div1');
      d.scrollTop(d.prop("scrollHeight"));
      Ich verstehe deinen Ansatz. Funktioniert aber leider nicht gut da ich den Ajax Request alle halbe Sekunde absetze

      Kommentar


      • #4
        Dann könntest du das noch mit der mouseover - Funktion von jQuery verbinden. Beispielsweise kannst du eine boolsche Variable setzen, ob du gerade über dem Element bist und falls ja, das Scrollen einfach nicht ausführen.

        https://api.jquery.com/mouseover/

        Kommentar


        • #5
          Zitat von michga93 Beitrag anzeigen
          Dann könntest du das noch mit der mouseover - Funktion von jQuery verbinden. Beispielsweise kannst du eine boolsche Variable setzen, ob du gerade über dem Element bist und falls ja, das Scrollen einfach nicht ausführen.

          https://api.jquery.com/mouseover/
          Alles klar , ich werde nochmal ein paar Dinge ausprobieren und versuchen es zum laufen zu bringen. Würde nicht die Funktion .scroll auch Sinn machen? Also statt mouseover

          Kommentar


          • #6
            Zitat von register123 Beitrag anzeigen

            Alles klar , ich werde nochmal ein paar Dinge ausprobieren und versuchen es zum laufen zu bringen. Würde nicht die Funktion .scroll auch Sinn machen? Also statt mouseover
            Nicht wirklich, da du dann ständig scrollen müsstest, damit das ScrollTop nicht ausgeführt wird. Sobald du mit dem Scrollen aufhören würdest, würde das Script wieder automatisch nach unten scrollen

            Kommentar


            • #7
              Zitat von michga93 Beitrag anzeigen

              Nicht wirklich, da du dann ständig scrollen müsstest, damit das ScrollTop nicht ausgeführt wird. Sobald du mit dem Scrollen aufhören würdest, würde das Script wieder automatisch nach unten scrollen
              Okay alles klar , habe jetzt in meiner success Funktion das hier eingefügt:
              Code:
                          scroll = false;
                          $("#chat").mouseover(function() {
                            scroll = true;
                          })
              
                          if (scroll == false) {
                            chat.scrollTop = chat.scrollHeight;
                          }
              funktioniert aber noch nicht richtig , denn sobald ich aufhöre zu scrollen geht es wieder nach unten, wie kann ich das verhindern=?

              Kommentar

              Lädt...
              X