Cornelia: popup

Hallo,

vielleicht kann mir hier jemand weiterhelfen, ich komme einfach auf keine lösung!

folgendes:

ich habe eine seite mit vertikalem scrollbalken. auf der seite befinden sich untereinander thumbnail. durch klick auf die thumbnail, öffnet sich ein grosses bild in einem popup.

wenn ich nun ganz runter gescrollt habe und auf einen thumb klicke, so dass sich ein popup öffnet, springt die seite wieder ganz nach oben. ich hätte aber gerne, dass die seite mit den thumbs an der stelle bleibt, wo ich auf das thumbnail geklickt habe, also unten!

wie kann ich das denn erreichen??

vielen dank,
conny

  1. Wahrscheinlich heißt der Link irgendwas mit

    <a href="deineseite#" onClick="popup()"...

    Ganz wichtig ist dabei der blöde Hash. Solche Codes werden von Leuten verzapft, die keine Ahnung haben, was sie tun.
    Schreibe es um zu:
    <a href="javascript:popup()"...
    dann sollte es funzen.

    Am besten noch mit document.write und <noscript>-Bereich säubern für diejenigen, die Skripting ausgeschaltet haben anstatt auf den IE zu verzichten.

    Der Yeti

    --
    Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
    Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
    Und bin so klug als wie zuvor!
    1. <a href="deineseite#" onClick="popup()"...

      Ganz wichtig ist dabei der blöde Hash. Solche Codes werden von Leuten verzapft, die keine Ahnung haben, was sie tun.
      Schreibe es um zu:
      <a href="javascript:popup()"...
      dann sollte es funzen.

      auch nicht besser.
      Wenn im Popup ein Bild dargestellt werden soll, ist es am sinnvollsten so:

      <a href="bild.jpg" onClick="popup(this.href);return false;"

      Dann funktioniert der Link auch ohne JS.

      Struppi.

      1. <a href="bild.jpg" onClick="popup(this.href);return false;"

        Und mit target="_blank" ist auch noch die Popup-Funktion erfüllt...
        Der Yeti

        --
        Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
        Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
        Und bin so klug als wie zuvor!
    2. Hi,

      Schreibe es um zu:
      <a href="javascript:popup()"...

      ein schlechter Vorschlag, auch wenn es funktioniert.

      freundliche Grüße
      Ingo

      1. Wie konstruktiv ...
        Der Yeti

        --
        Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
        Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
        Und bin so klug als wie zuvor!
        1. Hi,

          Wie konstruktiv ...

          aber sicher. Nur weil a href="javascript:" von Dir und leider auch in vielen Beispielen von Selfhtml verwendet wird und - meistens jedenfalls - funktioniert, ist 'javascript:' noch kein sinnvolles Internet-Protokoll und ein korrekter Link mit dem event-handler 'onclick' auf jeden Fall vorzuziehen.
          Und wie Du in den andren Antworten hier schon gesagt wurde, kannst Du über das target-Attribut - für die Fälle, in denen Javascript deaktiviert ist und der event-handler nicht greift - ein neues Fenster öffnen lassen. Im Gegenatz zu 'javascript:', wo dann lediglich ein toter Link vorhanden ist.

          freundliche Grüße
          Ingo

          1. aber sicher. Nur weil a href="javascript:" von Dir und leider auch in vielen Beispielen von Selfhtml verwendet wird und - meistens jedenfalls - funktioniert, ist 'javascript:' noch kein sinnvolles Internet-Protokoll und ein korrekter Link mit dem event-handler 'onclick' auf jeden Fall vorzuziehen.
            Und wie Du in den andren Antworten hier schon gesagt wurde, kannst Du über das target-Attribut - für die Fälle, in denen Javascript deaktiviert ist und der event-handler nicht greift - ein neues Fenster öffnen lassen. Im Gegenatz zu 'javascript:', wo dann lediglich ein toter Link vorhanden ist.

            Wieso sollte es ein Protokoll sein? Dafür fehlen doch die // im Gegensatz zu z.B. aol://
            Ich sehe es eher als Funktionsaufruf an, der halt von JS-verarbeitenden Browsern interpretiert werden kann.
            Aber du hast schon recht, eigentlich ist es so schöner.

            Der Yeti

            --
            Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
            Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
            Und bin so klug als wie zuvor!
            1. Hi,

              Wieso sollte es ein Protokoll sein? Dafür fehlen doch die // im Gegensatz zu z.B. aol://

              genau - ist es auch nicht. a href erwartet aber eigentlich ein Protokoll, was möglicherweise die Ursache ist, wenn einige so aufgerufene Scripte nicht funktionieren.

              freundliche Grüße
              Ingo

              1. genau - ist es auch nicht. a href erwartet aber eigentlich ein Protokoll, was möglicherweise die Ursache ist, wenn einige so aufgerufene Scripte nicht funktionieren.

                ?
                Und was ist mit <a href="index.html">? :-)
                OK, Klugscheißerei...

                Die einzige Möglichkeit, warum Links in dieser Art nicht funktionieren: Der Brauser unterstützt kein JavaScript. Und das kann man ja abfangen.

                Der Yeti

                --
                Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
                Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
                Und bin so klug als wie zuvor!
                1. Hi,

                  Die einzige Möglichkeit, warum Links in dieser Art nicht funktionieren: Der Brauser unterstützt kein JavaScript.

                  nein.

                  Und das kann man ja abfangen.

                  Nein.

                  Cheatah

                  --
                  X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                  X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                  X-Will-Answer-Email: No
                  X-Please-Search-Archive-First: Absolutely Yes
                2. Hi,

                  genau - ist es auch nicht. a href erwartet aber eigentlich ein Protokoll, was möglicherweise die Ursache ist, wenn einige so aufgerufene Scripte nicht funktionieren.

                  ?
                  Und was ist mit <a href="index.html">? :-)
                  OK, Klugscheißerei...

                  nö - zu kurz gedacht ;-)
                  Der Browser ergänzt diese Angabe automatisch und fügt hierbei auch das Protokoll zu.

                  freundliche Grüße
                  Ingo

            2. Hi,

              Wieso sollte es ein Protokoll sein? Dafür fehlen doch die // im Gegensatz zu z.B. aol://

              die zwei Slashes sind für ein Protokoll nicht relevant. Im übrigen spricht man bei "javascript:" von einem Pseudo-Protokoll.

              Ich sehe es eher als Funktionsaufruf an,

              Damit könntest Du kaum falscher liegen.

              Cheatah

              --
              X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
          2. Hi,

            für die Fälle, in denen Javascript deaktiviert ist und der event-handler nicht greift

            oder die Funktion abbricht.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
    3. Am besten noch mit document.write und <noscript>-Bereich säubern für diejenigen, die Skripting ausgeschaltet haben anstatt auf den IE zu verzichten.

      Wer lesen kann, ist klar im Vorteil ...
      Der Yeti

      --
      Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
      Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
      Und bin so klug als wie zuvor!
      1. Hi,

        Am besten noch mit document.write und <noscript>-Bereich säubern für diejenigen, die Skripting ausgeschaltet haben anstatt auf den IE zu verzichten.
        Wer lesen kann, ist klar im Vorteil ...

        Dein Tipp wird hierdurch nicht besser, sondern eher noch schlechter.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Dein Tipp wird hierdurch nicht besser, sondern eher noch schlechter.

          Mein Tipp ziehlte auch eher auf die generelle Lösung des Problems ab. Zum Beispiel sollte sich ein externes Fenster öffnen (Popup!), damit die aufrufende Seite noch angezeigt bleibt.

          Gerade bei diesem speziellen Problem will ich einem Modemuser nicht zumuten, wieder 500 Thumbnails neu laden zu müssen, bloß weil er kein JavaScript an hat...

          Der Yeti

          --
          Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
          Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
          Und bin so klug als wie zuvor!
          1. Hallo Yeti,

            Gerade bei diesem speziellen Problem will ich einem Modemuser nicht zumuten, wieder 500 Thumbnails neu laden zu müssen, bloß weil er kein JavaScript an hat...

            ich kann mir nicht vorstellen, dass ein Modemuser warten würde bis 500 Thumbnails (was imho *sehr* viel zu viel ist) geladen sind (wobei ich bei dsl auch nicht warten würde) - außerdem sollten die Thumbnails ja im Cache liegen und warum sollte eine Browser eine Seite neuladen wenn man den "Back"-Button benutzt?

            Grüße aus Nürnberg
            Tobias

            1. ich kann mir nicht vorstellen, dass ein Modemuser warten würde bis 500 Thumbnails (was imho *sehr* viel zu viel ist) geladen sind (wobei ich bei dsl auch nicht warten würde) - außerdem sollten die Thumbnails ja im Cache liegen und warum sollte eine Browser eine Seite neuladen wenn man den "Back"-Button benutzt?

              Jaaa, übertrieben. Ich ging halt von meinem Thumbnail-Skript aus, wo ich zunächst 12 auf einer Seite zeige aber dem User die Möglichkeit gebe, alle auf einer Seite zu zeigen ohne Blättern zu müssen. Und wenn man diese Option wählt ist es extrem schlecht, über "Zurück" navigieren zu müssen. Zumal ich die Erfahrung gemacht habe, dass die meisten Newbies diesen Button gar nicht kennen.
              Eigentlich sollte ein Browser die Bilder nicht neu laden, aber wenn es zuviele sind oder der User inzwischen andere Seiten aufgerufen hat oder der Browser (oder der Proxy) einfach alle Header ignoriert, die man ihm diesbezüglich schickt ... kommt öfter vor als man denkt (und als mir lieb ist).

              Der Yeti

              --
              Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
              Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
              Und bin so klug als wie zuvor!
          2. Hi,

            Gerade bei diesem speziellen Problem will ich einem Modemuser nicht zumuten, wieder 500 Thumbnails neu laden zu müssen, bloß weil er kein JavaScript an hat...

            und inwiefern bietet Dein Ansatz da gegenüber der Standardlösung Vorteile? Kleiner Tipp: Wenn sich Deine Antwort von "gar nicht" signifikant unterscheidet, solltest Du noch mal gründlich drüber nachdenken.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    wenn ich nun ganz runter gescrollt habe und auf einen thumb klicke, so dass sich ein popup öffnet, springt die seite wieder ganz nach oben.

    Du hast den Aufruf vermutlich über <a href="#" onclick="..."> - ändere dies in <a href="deingrossesbild.jpg" onclick="...; return false;"> und außer daß es nicht mehr scrollt können auch Besucher ohne Javascript die Bilder aufrufen.

    freundliche Grüße
    Ingo