2012-04-05 11 views
0
var wdt = document.body.offsetWidth/2.6 

var hgt = document.body.offsetHeight/4 

$("#element").offset({left:wdt, top:hgt}) 

, was ich versuche, Position zu tun, ist das Bild (#element) relativ zum body..ie zum Zentrum gegenüber dem Fenster ... für verschiedenen Browser/Fenstergrößen/Bildschirm .... unabhängig von jedem Bildschirm.Positionierung ein Element wrt das Fenster jquery mit

Ist das gültig .. oder gibt es noch ..?

+0

Hinsichtlich Ihrer Variablennamen, sollten Sie sie ziemlich ausführliche halten; "WDT" bedeutet nichts für andere Entwickler außer Ihnen, während 'Breite', obwohl nur ein paar Zeichen länger, * viel * besser lesbar ist. –

+0

Einverstanden. Das macht Sinn .. :) – Vinay

Antwort

1
$("#element").css({left:50%, top:50%}); 

oder

$("#element").css({left:window.innerWidth/2.6, top:window.innerHeight/4}); 

sollte es tun. Oder noch besser, in der CSS-Datei:

#element { 
    left:50%; 
    top:50%; 
} 

Beachten Sie, dass dies Ihr Element zu positionieren, basierend auf der oberen linke Ecke, so wird es nicht genau in der Mitte zu sein scheint. Um zu berücksichtigen, dass, könnten Sie dies tun (die über CSS zu halten):

$("#element").offset({ 
    left:-$(this).css("width")/2, 
    top:-$(this).css("height")/2 
}); 
+0

Dies kann das Element nicht korrekt positionieren, da die Elementgröße nicht berücksichtigt wird – Starx

+0

Ich bemerkte, dass, und ich bearbeite, um es zu berücksichtigen. –

+0

Das Bild ist Spinner Loading ... Bild für Light Box ... von 150x80 Größe ... – Vinay

0

Mit jQuery

$("img").css({ 
    top: ($(window).height()-$("img").height())/2, 
    margin: '0 auto' 
}); 
+0

Vergessen Sie nicht, er will auch die Spitze in der Mitte. Oder, um genau zu sein, 25% des Abstiegs. –

+0

@ElliotBonneville, Wie wäre es mit dem Update? – Starx

+0

Ich weiß nicht wovon du sprichst-- Ich * habe * meine Antwort aktualisiert. –

Verwandte Themen