Hilfe - Suche - Mitglieder - Kalender
Vollansicht: JavaScript PopUp Fenster
HTML-Editor phase 5 Support > Fragen, Lösungen zu HTML-Problemen bzw. Webdesign-Fragen - Talk > HTML
Conny
Hallo Gemeinde!
Auf die Gefahr hin, daß ich jetzt gesteinigt werde, habe ich doch noch eine Frage über ein PopUp welches ich mir zusammengebastelt habe... :floet:

Die Vorgeschichte: Meine Webseite nimmt an einem Wettbewerb teil, damit das auch alle (zumindest die, die JS nicht abgeschaltet haben oder ein PopUp-Blocker installiert haben :hand: ) mitbekommen, startet auf der Anfangsseite ein kleines PopUp, welches nach 4 Sekunden -von alleine!- wieder verschwindet. 8)
Guckst Du HIER

Was mir nicht gefällt ist, daß das PopUp nicht sofort Zentriert aufgeht.
Es kommt oben in der Ecke auf und 'springt' dann zur mitte wo ich es auch haben möchte.

Hier die JS Scriptdatei:
QUELLTEXT
function popupWin() {

text = "<HTML>n<HEAD>n<TITLE>Pop Window</TITLE>

n<LINK REL=STYLESHEET HREF='../sheets/font.css' TYPE='TEXT/CSS'>n</HEAD>n";

text += "<BODY>n<BR>n<CENTER>";

text += "<A HREF='HTTP://WWW.REITSPORTAWARD.DE/'

TARGET='_BLANK'><IMG SRC='../pics/gfbild/award.gif'

WIDTH=158 HEIGHT=57 BORDER=1 ALT='Reitsportaward'></A><BR>n<BR>";

text += "<A HREF='HTTP://WWW.REITSPORTAWARD.DE/'

TARGET='_blank'>Zum Abstimmen hier Klicken!</A>";

text += "<P CLASS='SMALL'>(Dieses Fenster schließt automatisch.)

</P>";

text += "</CENTER>n</BODY>n</HTML>n";



//* Zeitverzoegerung vor dem Start *//

setTimeout('windowProp(text)', 1000);

}



function windowProp(text) {

newWindow = window.open('','newWin','width=300,height=180');  //*Fenstergroesse*//

newWindow.document.write(text); //* HTML im Fenster plazieren *//

newWindow.moveTo(screen.width*0.35,screen.height*0.35); //*Fenster Zentrieren*//

//*Fenstergroesse gekoppelt an Fenster Zentrieren *//

//*Faustregel: 2x width + Fensterweite = 100 und 2x height + Fensterhoehe = 100 *//

newWindow.resizeTo(screen.width*0.30,screen.height*0.30);

newWindow.focus();

setTimeout('closeWin(newWindow)', 3000);  //*Zeit in der das Fenster sichtbar bleibt*//

}



function closeWin(newWindow) {

newWindow.close();  //*Schliessen und ausblenden*//

}


Das Konflikt -so glaube ich- liegt bei:
QUELLTEXT
function windowProp(text) {

newWindow = window.open('','newWin','width=300,height=180');  //*Fenstergroesse*//


und:
QUELLTEXT
newWindow.moveTo(screen.width*0.35,screen.height*0.35); //*Fenster Zentrieren*//

//*Fenstergroesse gekoppelt an Fenster Zentrieren *//

//*Faustregel: 2x width + Fensterweite = 100 und 2x height + Fensterhoehe = 100 *//

newWindow.resizeTo(screen.width*0.30,screen.height*0.30);


Ich habe die einzelne Schritte für mich kommentiert, damit ich nachher selbst noch weiss was ich da gemacht habe -bin ja kein Programmierer, sondern Reitlehrer :wink: -

Die Frage ist nun, wie bekomme ich das Fenster 'sprungfrei' Zentriert?

Das mit der Formel fand ich schon ein genialer Einfall biggrin.gif , scheint aber mit der 'Standart (Ich weiß, es wird mit D geschrieben, ich tu's aber nicht!) (Ich weiß, es wird mit D geschrieben, ich tu's aber nicht!)' Opening nicht konform zu gehen... sad.gif

Any ideas icon14.gif
Nosferatu
Warum nimmst Du die Positionierung des Fensters nicht gleich in window.open() vor?

z.B. mit

var winParam3="left=" + (screen.width/2-150).toString() + ",top=" + (screen.height/2-90).toString() + ",width=300,height=180";

window.open('','newWin',winParam3);
amethyst
Hallo Conny,

4 Sekunden sind etwas wenig ;-)) Bevor man genau begreift, was in dem fenster steht, ist es wieder verschwunden. Ist zwar keine Problemlösung, aber ne Anmerkung als User ;-))

Gruß Amethyst
Conny
Hi,

ZITAT
Warum nimmst Du die Positionierung des Fensters nicht gleich in window.open() vor?


Nun, wie ich anfangs schon schrieb: 'zusammengebastelt'

Ich habe Codeschnipsel solange zusammengesteckt und daran herummanipuliert bis es in etwa lief.

Ich bin die JS Sprache nicht so mächtig, daß ich das alles selbst hätte schreiben können, versteh aber doch soviel, daß ich es für meine Zwecke einsetzen kann -wenn auch nicht immer perfeckt-. Daher meine Frage.

Dein Vorschlag werde ich ausprobieren.

@Amethyst:
Die Zeit habe ich heraufgesetzt.
Conny
Hi,
ZITAT
...Warum nimmst Du die Positionierung des Fensters nicht gleich in window.open() vor?...


habe ich gemacht, klappt auch wunderbar! Danke biggrin.gif

cu
Conny
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2012 Invision Power Services, Inc.