Prototype window, inline Fenster mit Hintergrund??
hawkmaster
- javascript
Hallo zusammen,
ich versuche gerade ein Inline Popup Fenster zu machen mit einer URL als Inhalt.
Ich habe mir dabei die Dateien und Samples von der Seite:
http://prototype-window.xilinus.com/samples.html
genommen.
Ich versuche ein Inline Fenster hinzubekommen wie im Beispiel 2 aber mit einem abgedunkelten Hintergrund wie im Beispiel 4. Also ähnlich einer klassischen Lightbox.
Das mit dem Fenster klappt soweit. Da ich nicht kapiere wie das mit dem Hintergrund abdunkeln aus Beispiel 4 geht habe ich selbst was versucht.
<script>
// Windows with an URL as content
win2 = new Window('dialog4', {title: "Google",
bottom:150, left:200, width:600, height:500,
resizable: true, url: "http://www.google.de/", showEffectOptions: {duration:2}})
win2.setOpacity(0);
//eigene Funktion zum abdunkeln des Hintergrunds
function fadeDown(){
//if(document.getElementById('main')){
varobj = document.getElementById('ganzeSeite');
//varobj = document.getElementsByTagName("body");
varobj.style.background= '#353535';
varobj.style.color= '#fff';
varobj.style.height= '100%';
varobj.style.opacity= .9;
//}
}
</script>
Soweit klappt das nun auch mit dem dunkeln Hintergrund.
Das Problem ist nur, wenn das Inline PopUp geschlossen wird, ist der Hintergrund immer noch dunkel.
Hat jemand eine Idee wie man den dann wieder hell bekommen kann bzw. wie man das "geschlossene Fenster" abfragen kann?
Oder gibt es vielleicht eine einfachere Variante?
vielen Dank und viele Grüße
hawk
Hallo
ich versuche gerade ein Inline Popup Fenster zu machen mit einer URL als Inhalt.
Das Problem ist nur, wenn das Inline PopUp geschlossen wird, ist der Hintergrund immer noch dunkel.
Hat jemand eine Idee wie man den dann wieder hell bekommen kann bzw. wie man das "geschlossene Fenster" abfragen kann?
Da werden ja offensichtlich keine Fenster geöffnet, sondern Inhalt in per JavaScript erzeugte Elemente innerhalb der Seite geladen. Die "Fenster" werden auch mit Javascript geschlossen. Bei *dieser* Aktion musst du nun die Hintergrundfarbe wieder ändern.
Also keine Abfrage, ob das Fensterelement entfernt wurde, sondern beim Entfernen des Elements alles, was dazu gehört (z.B. Hintergrundeigenschaften ändern), erledigen.
Tschö, Auge
Solche Sachen werden üblicherweise mit Callback-Funktionen gelöst, die man dem Script übergibt und die beim Eintreten des Ereignisses ausgeführt werden.
http://prototype-window.xilinus.com/documentation.html
Du kannst im Options-Parameter Handler-Funktionen für verschiedene Events mitgeben, darunter onClose. Da fügst du in die Liste (zweiter Parameter) hinzu:
onClose : funktionsname
dann entsprechend die Funktion deklarieren oder als namenlose Funktion:
onClose : function () { ... }
So verstehe ich das zumindest.
Ansonsten musst du mit einem Observer arbeiten, der dann aber offenbar erst prüfen muss, um welchen Event es sich handelt.
Mathias