popups zentriert positionieren

Piper

Grünschnabel
Hallo zusammen,

ich habe das forum durchforstet, leider keine antwort gefunden.
mein problem:

<script type="text/javascript">
<!--
function winopen(seite){

window.open(seite,"PopMeUp","toolbar=no,menubar=no,width=760,height=420,resizable=no,scrollbars=no")

}

//-->
</script>

(da ich 3 links habe die je mit einem pop geöffnet werden sollen.)

<a href="#" onclick="winopen('ziel.htm');">

müsste, wenn ich mich nicht irre richtig sein.

jetzt der punkt an dem ich nicht weiter komme:
ich möchte, das die fenster sich zenriert am monitor öffnen.
unabhängig davon, welche auflösung genutzt wird.

dazu habe ich auch div scripte bei euch funden, weiss aber nicht wie ich diese kombinieren kann.

lieben dank im vorraus

Piper
 
das hier ist ein beispiel

hey das nenn ich rasche antwort :)

function qPopUp(theFile)
{
popHeight = 420;
popWidth = 760;
popY = (screen.height / 2)-(popWidth/2);
popX = (screen.width / 2)-(popHeight/2);
window.open(theFile,"wheredoyouwanttopoptoday","scrollbars=auto,width="+popWidth+",height="+popHeight+",left="+popX+",top="+popY);
}


anhand dieses scriptes hat das einer eurer member aufgeführt.

wäre, wenn man das und obenstehendes kombinieren könnte.

also mehrere links mit unterschiedlichen inhalten (htm) , die man alle in einem zentrierten popup öffnen kann.
 
Head:

<script type="text/javascript">
function qPopUp(theFile)
{
popHeight = 420;
popWidth = 760;
popY = (screen.height / 2)-(popWidth/2);
popX = (screen.width / 2)-(popHeight/2);
window.open(theFile,"wheredoyouwanttopoptoday","scrollbars=auto,width="+popWidth+",height="+popHeight+",left="+popX+",top="+popY);
}


Body:
<a href="#" onclick="qPopUp('ziel.htm');">


bei pop Height und pop width must du die masse deines pop ups reinschreiben =) hoffe ich hab dir kein sch§$ erzählt =P aber meiner meinung nach sollte es gehen
 
die position ist nicht korrekt.

die position ist nicht korrekt.

öffnet sich zuweit oben zuweit rechts.

meine fenster sind 760x420 px groß. script sieht so aus:

<script type="text/javascript">
function qPopUp(theFile)
{
popHeight = 420;
popWidth = 760;
popY = (screen.height / 2)-(popWidth/2);
popX = (screen.width / 2)-(popHeight/2);
window.open(theFile,"wheredoyouwanttopoptoday","scrollbars=auto,width="+popWidth+",height="+popHeight+",left="+popX+",top="+popY);
}
</script>

sollte doch eigentlich klappen oder?
 
lösung gefunden

popY = (screen.height / 2)-(popWidth/2);
popX = (screen.width / 2)-(popHeight/2);

hast versehentlich poHeight und popWidth verwechselt.

aber jetzt 's

Tausend dank.

Piper
 
Hallo,

auch ich habe das Problem der Zentrierung des Popups. Hier das verwendete Script:

<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Funktion öffnet ein JavaScript Bilder PopUp
// Der erste Parameter enthält die URL des anzuzeigenden Bildes
// Die beiden optionalen Parameter left und top geben absolute
// Koordinaten zur Darstellung des DIV-Elements vor. (linke, obere Ecke)
// Sie können als Strings samt Einheit (px, em, ...) angegeben werden.
function open_bilder_popup (url, left, top) {
// Bild schon mal in einem Image-Objekt laden
var bild = new Image ();
bild.src = url;
// Existiert schon ein Bilder PopUp?
if (document.getElementById ('bilder_popup') &&
document.getElementById ('bilder_popup_img'))
// Dann soll dieses PopUp verwendet werden
document.getElementById ('bilder_popup_img').src = url;
else {
// DIV-Element erzeugen und per Style entsprechend formatieren
var popup = document.createElement ('div');
popup.id = 'bilder_popup';
// Positionierung des DIV-Elements
// Wurden Angabe zur Positionierung gemacht?
if (!left && !top) {
// Es wurde keine Position angegeben!
// Position wird auf vorgegebene Werte gesetzt
// Beachten Sie: Fixed funktioniert beim IE erst ab Version 7
// Alternativ kann die Positionierung
popup.style.position = 'fixed';
popup.style.left = '500px';
popup.style.top = '200px';
}
else {
// Position wird in absoluten Koordinaten gesetzt
popup.style.position = 'absolute';
popup.style.left = left;
popup.style.top = top;
}
popup.style.backgroundColor = 'white';
popup.style.padding = '0em 1em 1em 1em';
popup.style.border = '1px solid black';
// Link zum Schließen des PopUps einfügen
var close = document.createElement ('a');
close.appendChild (document.createTextNode ('schliessen'));
close.href = 'javascript:close_bilder_popup ()';
close.style.textAlign = 'right';
close.style.display = 'block';
popup.appendChild (close);
// Jetzt folgt das eigentliche Bild in einem IMG-Tag
var img = document.createElement ('img');
img.id = 'bilder_popup_img';
img.src = bild.src;
popup.appendChild (img);
// Und zum Schluß das DIV-Element in das HTML-Dokument einfügen
document.getElementsByTagName ('body')[0].appendChild (popup);
}
}

// Funktion zum Schließen eines zuvor geöffneten PopUp-Fensters
function close_bilder_popup () {
// Verweis auf ein HTML-Element mit der ID bilder_popup ermitteln.
var popup = document.getElementById ('bilder_popup');
// Existiert überhaupt ein Element mit der ID bilder_popup?
if (popup)
// Dann kann dieses Element aus dem HTML-Dokumentenbaum
// gelöscht werden.
document.getElementsByTagName ('body')[0].removeChild (popup);
}
// -->
</script>

Vielen Dank im Voraus
 
Hi,

hast du nicht zuvor die Beiträge aufmerksam durchgelesen, wenn du hier schon ein fast sieben Jahre altes Thema aus der Versenkung hebst?

Die Lösung wird zwar "falsch" (verwechselt) genannt, aber vom User Piper auch darauf aufmerksam gemacht :rolleyes:
Code:
popY = (screen.height / 2)-(popHeight / 2);
popX = (screen.width / 2)-(popWidth / 2);


mfg Maik
 

Neue Beiträge

Zurück