Benjamin: Popup schliessen

hi nochmal,

problem:
pop-ups ---> habe mehrere Pop-Ups aktiviert die quasi eine einbahnstrasse sind.genauer gesagt handelt es sich jeweils um die vorstellung von eisbechern. jetzt ist es aber im moment ziemlich nervig mit den dingern weil die aufgehen, wenn man dann das nächste anklickt geht der auch auf und der erste verschwindet im hintergrund, sodass man denk, aha, der hat sich dann automatisch geschlossen. hat der aber nicht, und nachdem man alle 10 becher gesehen hat und den browser zumacht hat man dann die große scheisse....man darf alle popups wieder schliessen!
ich weiss natürlich das die lösung mit den popups nicht ideal ist...aber trotzdem wüsste ich gerne wie ich das problem beheben kann.
es sollte also quasi das erste popup schliessen wenn ich das zweite öffne usw.....
hat da jemand ne idee wie das gehen könnte?

ich schick hier mal meinen code:

<h5 align="right"><a href="Erdbeerbecher.shtml"onClick="window.open('Erdbeerbecher.shtml','Fenster1','width=400,height=200,left=0,top=0');"target="Fenster1">[erdbeerbecher]</a></h5>

<h5 align="right"><a href="Spaghettieis.shtml"onClick="window.open('Spaghettieis.shtml','Fenster2','width=400,height=200,left=405,top=0');"target="Fenster2">[spaghettieis]</a></h5>

Danke vorab!

  1. Hallo,

    es sollte also quasi das erste popup schliessen wenn ich das zweite öffne usw.....

    Gib ihnen doch einfach allen den gleichen Namen,
    dann wird der Inhalt ersetzt.

    <h5 align="right"><a href="Erdbeerbecher.shtml"onClick="window.open('Erdbeerbecher.shtml','Fenster1','width=400,height=200,left=0,top=0');"target="Fenster1">[erdbeerbecher]</a></h5>

    <h5 align="right"><a href="Spaghettieis.shtml"onClick="window.open('Spaghettieis.shtml','Fenster2','width=400,height=200,left=405,top=0');"target="Fenster2">[spaghettieis]</a></h5>

    Statt Fenster1, Fenster2 u.s.w. nenne sie doch alle Fenster1.
    Und mach bitte Leerzeichen zwischen den Attributen.

    Natuerlich musst Du auch noch auf den Focus achten
    und ggf. zuvor schauen, ob das Fenster schon existiert,
    aber noch nicht wieder geschlossen wurde.
    Das sind halt die Teufel, die im Detail sitzen... ;-)

    Was die <h5> Tags sollen, wenn es sich offensichtlich
    um eine Auflistung handelt, ist mir schleierhaft...

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Hallo,

      es sollte also quasi das erste popup schliessen wenn ich das zweite öffne usw.....

      Gib ihnen doch einfach allen den gleichen Namen,
      dann wird der Inhalt ersetzt.

      <h5 align="right"><a href="Erdbeerbecher.shtml"onClick="window.open('Erdbeerbecher.shtml','Fenster1','width=400,height=200,left=0,top=0');"target="Fenster1">[erdbeerbecher]</a></h5>

      <h5 align="right"><a href="Spaghettieis.shtml"onClick="window.open('Spaghettieis.shtml','Fenster2','width=400,height=200,left=405,top=0');"target="Fenster2">[spaghettieis]</a></h5>

      Statt Fenster1, Fenster2 u.s.w. nenne sie doch alle Fenster1.
      Und mach bitte Leerzeichen zwischen den Attributen.

      Natuerlich musst Du auch noch auf den Focus achten
      und ggf. zuvor schauen, ob das Fenster schon existiert,
      aber noch nicht wieder geschlossen wurde.
      Das sind halt die Teufel, die im Detail sitzen... ;-)

      also soweit klappt das wie du das sagst, aber aber mit dem focus das raff ich einfach nicht wo das hingehört!
      jetzt läuft das nämlich so ab das nur das erste popup im vordergrund erscheint, öffne ich daraufhin das nächste verschwindet es im hintergrund!

      gibt es dafür eine idee?

      danke, Ben

      Was die <h5> Tags sollen, wenn es sich offensichtlich
      um eine Auflistung handelt, ist mir schleierhaft...

      Gruesse,

      Thomas

      1. Hallo,

        also soweit klappt das wie du das sagst, aber aber mit dem focus das raff ich einfach nicht wo das hingehört!

        Nachdem Du das Fenster geoeffnet hast, musst Du ihm noch
        den Focus geben:

        <a href="Spaghettieis.shtml" onClick="fenster=window.open(this.href,'Fenster1','width=400,height=200,left=405,top=0'); fenster.focus; return false;" target="Fenster1">[spaghettieis]</a>

        Zum Thema Pop-Ups lies auch:
        http://molily.de/javascript-popups

        jetzt läuft das nämlich so ab das nur das erste popup im vordergrund erscheint, öffne ich daraufhin das nächste verschwindet es im hintergrund!

        Ja, genau deswegen braucht es .focus ;-)

        Gruesse,

        Thomas

        --
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
        Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
        Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
        1. Hallo,

          also soweit klappt das wie du das sagst, aber aber mit dem focus das raff ich einfach nicht wo das hingehört!

          Nachdem Du das Fenster geoeffnet hast, musst Du ihm noch
          den Focus geben:

          <a href="Spaghettieis.shtml" onClick="fenster=window.open(this.href,'Fenster1','width=400,height=200,left=405,top=0'); fenster.focus; return false;" target="Fenster1">[spaghettieis]</a>

          aber wenn ich jetzt das nächste popup direkt öffnen möchte ohne das vorige zu schliessen verschwindet das wieder im hintergrund!
          wie kann denn das?

          danke schonmal für die mühe!

          Zum Thema Pop-Ups lies auch:
          http://molily.de/javascript-popups

          oki doki

          jetzt läuft das nämlich so ab das nur das erste popup im vordergrund erscheint, öffne ich daraufhin das nächste verschwindet es im hintergrund!

          Ja, genau deswegen braucht es .focus ;-)

          Gruesse,

          Thomas

          1. Hallo,

            aber wenn ich jetzt das nächste popup direkt öffnen möchte ohne das vorige zu schliessen verschwindet das wieder im hintergrund!

            Kann sein, wusste ich nicht mehr auswendig - JavaScript ist nicht so mein Ding. ;-)

            Habe mal in einem aelteren Projekt von mir nachgeschaut, wie ich es
            dort mache. Ich habe eine kleine Funktion geschrieben, der ich die
            URL sowie die Breite und Hoehe eines Bildes uebergebe.
            Sie oeffnet dann ein Pop-Up, das etwas groesser ist als das Bild selbst,
            damit es "ganz sicher" keine Scrollbalken gibt. Zuvor schliesst sie
            aber das gleichnamige Pop-Up-Fenster, falls es schon mal geoeffnet
            wurde und nicht zwischenzeitlich wieder geschlossen wurde:

            function bildfenster(bildurl,dimx,dimy)
            {
             if (window.bildpopup && !window.bildpopup.closed)
                { bildpopup.close(); }
             var fensterx=dimx+24;  /* Fuer MSIE und Opera wuerden 15px reichen; */
             var fenstery=dimy+24;  /* Mozilla will mehr... */
             bildpopup = window.open(bildurl,'bildfensterlein','locationbar=no,scrollbars=no,resizable=yes,width='+fensterx+',height='+fenstery);
             bildpopup.focus();
            }

            Ein Link sieht dann z.B. so aus:

            <a href="bild538x288.gif" onClick="bildfenster(this.href,538,288); return false;">
            <img src="bild320x180.gif" width="320" height="180" alt="..."  title="Klick fuer Vergroesserung!"></a>

            So, jetzt kommst Du hoffentlich alleine klar.
            Die Grundlagen von JavaScript stehen ja auch in SelfHTML.
            Lies insbesondere das Kapitel zu window:
            http://selfhtml.teamone.de/javascript/objekte/window.htm

            Gruesse,

            Thomas

            --
            Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
            Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
            Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
      2. hi,

        also soweit klappt das wie du das sagst, aber aber mit dem focus das raff ich einfach nicht wo das hingehört!

        kannst du bitte erst mal versuchen zu "raffen", wie man _sinnvoll_ zitiert, bevor du hier weiter alles mit fullquotes zukleisterst?

        bitte lies mal </faq/#Q-09a> und http://learn.to/quote.

        gruss,
        wahsaga

  2. Hi @all!

    Gibt 3 Möglichkeiten:

    1. <a href="#" onClick="javascript:window.open('ErstesPopup.html','Fenster1','...');self.close();">Hier gehts los</a>
    => Der Besucher klickt, es öffnen sich ein neues, Fenster, alte schließt sich direkt. Kannst du überall machen, beim Klick schließt sich dann immer das alte Fenster.

    2. In Das letzte Fenster kommt ein Befehl rein Fenster1.close();Fenster2.close(); usw., dort werden auf Klick alle fenster geschlossen.
    => Wenn der Besucher irgendwo abbricht, dann ... ist klar oder? Tuts net.

    3. window.open('irgendwas1.html','irgendwas1','... dependent=yes')
       window.open('irgendwas2.html','irgendwas2','... dependent=yes')
    => so kann der Besucher alle Fenster öffnen, am ender muss er nur das Fenster, aus dem alle andren Fenster aufgerufen wurden (Eltenrfenster) schließen, und alle anderen gehen auch zu.

    Ich hoffe, das hiflt ein bisschen.
    MfG, Dennis.

    --
    Was man eigentlich immer sagen will:
    SelfHTML und SelfForum sind echt spize!
    Vielen Dank an alle, die mir hier helfen.
    Fragen zu Formularen beantwortet http://tutorial.riehle-web.com
    Meine HP: http://www.riehle-web.com
    So, das wars!
    1. Hi @all!

      Gibt 3 Möglichkeiten:

      1. <a href="#" onClick="javascript:window.open('ErstesPopup.html','Fenster1','...');self.close();">Hier gehts los</a>
        => Der Besucher klickt, es öffnen sich ein neues, Fenster, alte schließt sich direkt. Kannst du überall machen, beim Klick schließt sich dann immer das alte Fenster.

      ja, das hilft mir sehr!
      ich glaube ich bin nicht mehr weit von der lösung entfernt! ;-)
      habe jetzt nur noch das problem das mein browser (IE) mir beim aufrufen des popups sagt: Die angezeigte Website versucht, das Fenster zu schliessen
      Soll das Fenster geschlossen werden? J/N

      HMMM....was nun?

      1. hi nochmal,

        dabei sieht mein code jetzt gerade so aus:

        <a href="Erdbeerbecher.shtml"onClick="javascript:window.open('Erdbeerbecher.shtml', 'Fenster1', 'width=400, height=200, left=0, top=0');self.close();" target="Fenster1">[erdbeerbecher]</a>

        oder stimmt daran etwas nicht?

        grüße, ben

        1. Hallo,

          <a href="Erdbeerbecher.shtml"onClick="javascript:window.open('Erdbeerbecher.shtml', 'Fenster1', 'width=400, height=200, left=0, top=0');self.close();" target="Fenster1">[erdbeerbecher]</a>

          oder stimmt daran etwas nicht?

          Frag mal den Validator.
          Mach endlich Leerzeichen zwischen den Attributen.

          Das self.close() wuerde das "Mutterfenster" schliessen.
          Also eine sehr schlechte Idee...

          Das onClick="javascript: ist falsch.
                       ^^^^^^^^^^
          "javascript" wegmachen.

          Gruesse,

          Thomas

          --
          Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
          Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
          Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
          1. ok, erstmal...leerzeichen sind nun drin...:-)

            habe das jetzt auch so gemacht wie du es unten beschrieben hast, aber wenn ich denselben code für jedes popup nutze geht aus für mich unerklärlichen gründen nur das erste fenster (fenster.focus)
            im vordergrund auf!

            sehr doof!

          2. Hallo.

            Das onClick="javascript: ist falsch.
                         ^^^^^^^^^^
            "javascript" wegmachen.

            Und ":" auch.
            MfG, at