ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
1034
1034
EMPFEHLEN
-
02.11.07 14:02 #1
- Registriert seit
- Feb 2007
- Beiträge
- 74
Hallo Zusammen
Ich habe vor ein paar Tagen angefangen eine Javascript Klasse zu schreiben. Schlussendlich soll man damit Div Popups generieren lassen können. Nun habe ich aber folgendes Problem:
Das Popup soll sich immer in der Mitte des Browsers ausrichten und auch in der Mitte bleiben wenn die Fenstergrösse verändert wird.
Ich habe also eine Methode "alignDivPopup()" welche das Popup in der Mitte ausrichtet. Diese Methode wird einmal kurz nach dem erstellen des Div Popups aufgerufen und sollte auch jedes mal aufgerufen werden wenn die Fenstergrösse geändert wird. In dieser Methode sollen die Masse des Popups über eine Objektvariable ausgelesen werden.
Beim ersten Aufruf kurz nach dem Erstellen funktioniert das ganze ohne Probleme und das Div Popup wird schön in der Mitte ausgerichtet, aber beim Aufruf über window.onresize werden diese Objektvariablen nicht mehr gefunden.
Hier sind die wichtigsten Funktionen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
function DivPopup(pClassName, pDivPopupWidth, pDivPopupHeight) { this.divPopup = null; this.divPopupClassName = pClassName; this.divPopupWidth = pDivPopupWidth; this.divPopupHeight = pDivPopupHeight; this.init(); window.onresize = this.alignDivPopup; } DivPopup.prototype.init = function() { popupCount++; this.popupId = popupCount; this.divPopup = document.createElement("div"); this.divPopup.id = "popup-" + this.popupId; this.divPopup.className = "load"; this.divPopup.style.display = "block"; this.divPopup.style.width = this.divPopupWidth; this.divPopup.style.height = this.divPopupHeight; document.body.insertBefore(this.divPopup, document.body.firstChild); this.alignDivPopup(); this.closePopup(); } DivPopup.prototype.alignDivPopup = function() { var halfWindowWidth = Math.round(windowWidth/2); var halfWindowHeight = Math.round(windowHeight/2); var halfPopupWidth = Math.round(this.divPopup.clientWidth/2); var halfPopupHeight = Math.round(this.divPopup.clientHeight/2); var alignLeft = halfWindowWidth - halfPopupWidth; var alignTop = halfWindowHeight - halfPopupHeight; this.divPopup.style.left = alignLeft + "px"; this.divPopup.style.top = alignTop + "px"; }
Ich bin für jeden Hinweis dankbar.
Gruss
Rambomaster
-
Hast du schonmal überlegt, da ganz ohne JS heranzugehen(beim Positionieren).... sowas lässt sich bestimmt auch per CSS machen
Ähnliche Themen
-
Problem beim aufrufen einer Methode
Von Danilo Geissler im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 26.07.07, 23:41 -
Vor Aufruf einer bestimmten Methode immer erst eine andere Methode aufrufen
Von lernen.2007 im Forum JavaAntworten: 2Letzter Beitrag: 06.06.07, 18:37 -
Problem beim Zugriff auf eine Methode einer Klasse
Von hihachi im Forum C/C++Antworten: 2Letzter Beitrag: 16.01.07, 23:33 -
Bean Methode beim Aufruf starten
Von hispeedsurfer im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 23.11.06, 08:13 -
Access Violation beim Aufruf einer Methode in DLL
Von exsa im Forum C/C++Antworten: 3Letzter Beitrag: 29.01.05, 17:55





Zitieren
Login





