Wie blättere ich automatisch eine Seite, wenn .slideDown der Unterseite des Browsers geht?

StackOverflow https://stackoverflow.com/questions/4621286

  •  30-09-2019
  •  | 
  •  

Frage

Ich habe eine Tabelle, die für jede Zeile über eine jQuery slidedown zusätzliche Informationen offenbart, wenn die Zeile mouseover'd wird. Wenn die Maus entfernt wird die Information mit einem slideUp entfernt wird.

Das 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 nach unten scrollt mit einem Mausrad oder ähnliche sie die Informationen sehen können, aber wenn sie den Mauszeiger bewegen die Bildlaufleiste die Informationen schwindet gleiten zu lassen.

Gibt es eine einfache Art und Weise in jQuery, sicherzustellen, dass die Seite nach unten gescrollt die Informationen zur gleichen Zeit zu zeigen, wie die slidedown ausgeführt wird, oder werde ich eine Lösung dieses Problems müssen Handroll?

War es hilfreich?

Lösung

Sie könnten versuchen, zu bekommen, wie tief ist die letzte Zeile geht durch seine vertikale Position Berechnung (oben) und seine Höhe. Wenn dieser Wert den aktuellen Scroll passieren würde, dann 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);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top