2016-09-16 4 views
1

Ich habe ein div auf einer Seite, die als Overlay für die gesamte Seite fungiert, wenn eine Taste gedrückt wird. Hier ist das Problem, das ich habe:Get Div Location mit Responsive Layout

Wenn das Overlay angezeigt wird, ich Javascript bin mit dem Overlay Position auf einer Seite an der Spitze eines div Start die folgende Methode:

var elementTop = $("#myVideo").offset().top; 
$('#lightBoxBackground').css('top', elementTop); 

jedoch , wenn ich die Größe der Seite ändere, anstatt die neue Position der myVideo div dynamisch zu bekommen, scheint es, dass es die ursprüngliche Position behält. So, wie ich meine Seite erweitern, bleibt das Overlay div, wo es geöffnet wurde, anstatt sich ständig mit dem myVideo Div zu bewegen.

Gibt es eine Möglichkeit, dynamisch die neue Position eines div zu bekommen, wenn das Seitenlayout mit html, css und javascript geändert wird, so dass sich mein Overlay div mit dem myVideo div bewegt? Ich bin neu in JavaScript und habe viele Fragen durchgesehen, aber nichts Nützliches gefunden.

Danke für jede Hilfe.

Antwort

3

mit JavaScript Sie Breite/Höhe Änderungen auf dem Fenster mit .resize()

$(window).resize(function() { 
    //resize just happened, update your positioning values 
}); 

Hinweis hören können: Diese Lösung nutzt jQuery - https://api.jquery.com/resize/