ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
499
499
EMPFEHLEN
-
Hallo!
Ich versuche eine Ebene / ein Popup zu erzeugen, das über den eigentlichen Browserrand hinausgeht. Ich habe auch bereits eine Lösung gefunden, die dieses Verhalten unterstützt.
popup.show(iX, iY, iWidth, iHeight [, oElement])
Hier auch ein Beispielcode:
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Testseite</title> <script> /***************************************************** * Ebenen Popup *****************************************************/ var oPopup = window.createPopup(); function definePopup(left,top,width,height) { if (event.srcElement.id=="menu_test1") { oPopup.document.body.innerHTML = otest1.innerHTML; var popupBody = oPopup.document.body; oPopup.show(left,top,width,height,document.body); } else if (event.srcElement.id=="menu_test2"){ oPopup.document.body.innerHTML = otest2.innerHTML; var popupBody = oPopup.document.body; oPopup.show(left,top,width,height,document.body); } } </script> <style> #menu_test1 { background-image: url(../images/menu_contacts_1.gif); background-repeat: no-repeat; position: absolute; left: 0px; top: 120px; width: 250px; height: 40px; cursor: hand; } #menu_test2 { background-image: url(../images/menu_files_1.gif); background-repeat: no-repeat; position: absolute; left: 0px; top: 260px; width: 250px; height: 40px; cursor: hand; } </style> </head> <body> <div id="menu_test1" onClick="definePopup('-282','207','284','500');">open menu1</div> <div id="menu_test2" onClick="definePopup('-282','407','284','300');">open menu2</div> <div style="display:none;"> <div id="otest1"> <div style="border: solid 3px #000042; border-right: 0px; background-repeat: no-repeat; width:284; height:500">Seite 1</div> </div> <div id="otest2"> <div style="border: solid 3px #000042; border-right: 0px; background-repeat: no-repeat; width:284; height:300">Seite 2</div> </div> </div> </body> </html>
Das Problem ist jedoch: Das Fenster verschwindet, sobald ich meinen Fokus ändere und beispielsweise in das Hauptfenster klicke. Weiß wer von euch, wie man dieses Problem umgehen könnte oder kennt wer eine bessere Lösung?
Danke für die Hilfe!
mfg,
debuggerGeändert von deb_ugger (23.12.06 um 09:54 Uhr)
-
Deklariere eine Variable mit dem Wert false
Speichere beim Aufruf von "definePopup()" das Objekt "event.srcElement" in dieser Variablen. Dann überwache den onclick-Event des documents.
Rufe, wenn dieser Event feuert, eine weitere Funktion auf.
In dieser Funktion prüfe, ob die deklarierte Variable "false" ist... wenn nicht, führe einen click() darauf aus....was wiederum "definePopup()" auslöst, womit das Popup offen bleibt(oder besser gesagt sofort wieder geöffnet wird).
Wenn du das Popup schliessen willst, verwende darauf die Methode hide() ... vorher musst du die deklarierte Variable aber wieder auf "false" setzen.
Übrigens: Dass diese Sache nur im IE ab V5.5 funktioniert, ist dir aber bekannt ?!
Ähnliche Themen
-
Lightbox - Fokus auf Popup legen
Von shredder01 im Forum Javascript & AjaxAntworten: 12Letzter Beitrag: 16.03.11, 18:15 -
Bloginhalt verschwindet bei Show/Hide Funktion
Von RoyalArsenal im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 15.07.09, 14:01 -
Neues Fenster öffnen sobald -> Klick
Von proloser im Forum Javascript & AjaxAntworten: 13Letzter Beitrag: 18.03.09, 07:26 -
php-script ausführen sobald pop-up fenster geschlossen wurde
Von nigman im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 29.10.07, 02:44 -
Fenster Fokus und Koordinaten
Von pfann86 im Forum JavaAntworten: 6Letzter Beitrag: 14.05.07, 10:17





Zitieren
Login





