ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
273
273
EMPFEHLEN
-
Hallo,
ich möchte das onResize-Event von JS benutzen, um das Hintergrundbild einer Homepage anzupassen.
Habe dazu folgendes geschrieben:
Das funktioniert ja soweit auch schön und gut. Nur habe ich jetzt folgende Situation. Wenn die Fensterbreite kleiner wird als die Höhe bzw. die Höhe des Bildes, entsteht unten ein weißraum, weil das Bild dann einfach nicht mehr die Höhe ausfüllt.HTML-Code:<script type="application/javascript"> window.onload = function () { // initale Breite und Höhe des Browserfensters var iWidth = window.innerWidth || (window.document.documentElement.clientWidth || window.document.body.clientWidth); var iHeight = window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight); document.getElementById('backgroundImage').style.width = iWidth + "px" ; document.getElementById('backgroundImage').style.left = "50%" ; document.getElementById('backgroundImage').style.marginLeft = iWidth / 2 * (-1) + "px"; window.onresize = resizeBackground; } function resizeBackground() { var width = window.innerWidth || (window.document.documentElement.clientWidth || window.document.body.clientWidth); var height = window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight); document.getElementById('backgroundImage').style.width = width + "px" ; document.getElementById('backgroundImage').style.left = "50%"; width = width / 2 * (-1); window.document.getElementById('backgroundImage').style.marginLeft = width + "px"; } </script>
Ich glaube, ich stehe gerade etwas auf dem Schlauch, was die Bedingung betrifft.
Oder sollte ich generell die Höhe anpassen und einfach nur die Breite propotional ermitteln?
-
Ich hatte mal ein Script geschriebn das genau dieses problem löst, ich kanns nur leider nicht mehr finden.
Letzendlich ist es aber auch eigentlich nicht schwer. Was du prüfen musst sind die Proportionen - des Hintergrunds und des Fensters (oder wonach du dich richtest). Dann musst du abhängig von den Proportionen prüfen, ob du das Bild in der Höhe oder in der Breite skalieren musst.
Beispiel: Der Hintegrund hat eine geringer Proportion (z.B. 4:3 = 1,333) als das Fenster (z.B. 1,777), dann musst du den Hintergrund in Anhängigkeit der Breite anpassen und entsprechend in der Höhe wenn der Fall entgegensetzt gelagert ist.
Natürlich wäre dein Hintergrund dann höher bzw. breiter als dein Fenster, entsprechend könntest du noch den Höhen-/Breitenunterschied ermitteln, durch zwei dividieren und den Hintergrund um genau diesen wert nach links oder oben aus dem sichtbaren Bereich verschieben (vorausgesetzt, dass du dich bei der Positionierung am oberen bzw. linken Fensterrand orientierst), um den Hintergrund zu zentrieren.
Ich hoffe, dass ich keinen Denkfehler gemacht habe, so sollte es aber eigentlich stimmen.Grüße SB
-
Hi,
dein Script ändert bei einer Grössenänderung des Fensters auch nur die Breite:
Es fehlt einfach noch die Änderung für die Höhe:Code :1 2 3
document.getElementById('backgroundImage').style.width = iWidth + "px" ; document.getElementById('backgroundImage').style.left = "50%" ; document.getElementById('backgroundImage').style.marginLeft = iWidth / 2 * (-1) + "px";
CiaoCode :1 2 3
document.getElementById('backgroundImage').style.height = iHeight + "px" ; document.getElementById('backgroundImage').style.top = "50%" ; document.getElementById('backgroundImage').style.marginTop = iHeight / 2 * (-1) + "px";
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
@StupidBoy
Jepp, das dürfte von der Theorie so hinkommen
@Quaese
Wenn ich die Breite und die Höhe zusammen anpasse, dann kanns aber passieren, dass ich die Hintergrundbilder verzerre... oder?
-
Ja, das ist richtig, das Hintergrundbild würde verzerrt werden.
Darf das nicht passieren, ist die Methode von @StupidBoy zu empfehlen.
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
Ähnliche Themen
-
Div Höhe an Hintergrundbild anpassen
Von KCH im Forum CSSAntworten: 6Letzter Beitrag: 12.01.10, 06:38 -
Hintergrundbild an Bildschirmauflösung anpassen
Von Nord-Süd-Richtung im Forum CSSAntworten: 1Letzter Beitrag: 26.06.09, 19:51 -
Bilder auf Hintergrundbild anpassen?
Von GFX-Händchen im Forum CSSAntworten: 17Letzter Beitrag: 25.02.08, 10:17 -
Hintergrundbild an Bildschirm anpassen
Von Burnymc im Forum CSSAntworten: 4Letzter Beitrag: 08.04.05, 07:11 -
hintergrundbild anpassen
Von sascha 1974 im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 06.04.05, 17:00





Zitieren

Login





