2011-01-06 13 views
2

Ich habe eine Tabelle, die zusätzliche Informationen für jede Zeile über eine jQuery slideDown zeigt, wenn die Zeile mouseover ist. Wenn die Maus entfernt wird, werden die Informationen mit einem SlideUp entfernt.Wie scrolle ich automatisch eine Seite nach oben, wenn .slideDown von der Unterseite des Browsers geht?

Dies funktioniert gut, aber wenn ich das letzte Element auf der Seite Mouseover gleitet er unter dem unteren Rand des Browserfensters nach unten. Wenn der Benutzer mit einem Mausrad oder ähnlichem nach unten scrollt, kann er die Informationen sehen, aber wenn er den Mauszeiger bewegt, um die Bildlaufleiste zu verschieben, verschwinden die Informationen.

Gibt es eine einfache Möglichkeit in jQuery sicherzustellen, dass die Seite nach unten gescrollt wird, um die Informationen zur selben Zeit anzuzeigen, als slideDown ausgeführt wird, oder muss ich eine Lösung dafür handrollen?

Antwort

1

Sie könnten versuchen, wie tief die letzte Reihe geht, indem Sie seine vertikale Position (oben) und seine Höhe berechnen. Wenn dieser Wert den aktuellen Bildlauf übergibt, blättern Sie zu diesem Wert.

// Nicht

getestet
var verticalLimit = $("#lastRow").offset().top + $("#lastRow").height() ; 
var currentVerticalScroll = $(window).scrollTop(); 
if (verticalLimit > currentVerticalScroll){ 
    $("body").animate({ scrollTop: verticalLimit }, 500); 
} 
+0

nah genug für einen Tick. Dein Code funktioniert nicht ganz (schaut oben auf der Seite anstatt unten), aber es hat mich zum Spielen gebracht und das ist die letzte funktionstested Version, die ich mir ausgedacht habe. Funktion slide_and_scroll (Objekt) { var verticalLimit = obj.offset(). Top + obj.height(); var currentVerticalScroll = $ (window) .scrollTop() + $ (window) .height(); if (verticalLimit> currentVerticalScroll) { var scrollTo = VerticalLimit - $ (Fenster) .height(); $ ("html: nicht (: animiert), body: nicht (: animiert)"). Animate ({scrollTop: scrollTo}, 500); } Entschuldigung, sieht schrecklich als Kommentar aus. – brad

+0

Ich habe mir auch ein wenig von hier ausgeliehen: http://oncemade.com/animated-page-scroll-with-jquery/ – brad