• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jQuery scrollTop animieren

AzRaIL

Mitglied
Guten Abend,

hatte das schon in einem anderen Thread von mir geschildert. Ist leider im falschen Bereich deshalb hier ein neues Thema.

Habe auf meiner Seite unten einen Bereich den man per Klick auf und zu Sliden kann. Die Animation davon funktioniert soweit auch. Was nicht funktioniert ist, dass wenn man den Bereich aufklickt, der Viewport automatisch mit nach unten scrollt sondern man muss es eben manuell mit dem Mausrad tun.

Als Lösung habe ich folgenden Code in JQuery geschrieben

Code:
jQuery('div.toggler').click(function() {
        setTimeout(function() {
            var fensterHeight = jQuery(window).height();     
            jQuery(window).scrollTop(fensterHeight);
        },500);
});

Also wird nach 500ms nach unten gesprungen.
Dies möchte ich jedoch als slide Animation haben. Wie kann man das zusätzlich einbauen? Habe mir schon diverse Seiten im Internet angesehen wo es mit .animate erklärt wurde, jedoch etwas unverständlich.

lg
 
Ich würde das scrollTop() an animate() übergeben.

Pseudocode:
Code:
$('.toggler').on('click', function() {
  $(window).animate({
    scrollTop: 0
  }, 500);
})
 
Jop klappt nun. Bekam nämlich die ganze zeit folgende Fehlermeldung:

Uncaught TypeError: Cannot use 'in' operator to search for 'scrollTop' in undefined

Hab nun das window mit 'body' ersetzt :)
Danke
 
Hm ich nutze ja Google Chrome da klappt es super...aber wenn ich die Seite in Firefox aufrufe und klicke passiert nix. Kein ScrollTop und auch keine Animation?!
Liegt offensichtlich an dem .animate, denn ohne klappt es.

der Code:

Code:
jQuery('body').animate({scrollTop : fensterHeight}, 1000);

Code der funktioniert:

Code:
jQuery(window).scrollTop(fensterHeight);

Jemand ne Idee?
 
Zurück
Oben