thumpnails via javascript-funktion darstellen....

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • thumpnails via javascript-funktion darstellen....

    Hi Leute,

    ich verwende in meinem <head> folgende JS-Funktion um ein Fenster beim Klick auf eine Grafik zu erzeugen:
    <script>
    function winopen(){
    window.open("Clipart.jpg","8B Home","toolbar=no,menubar=no,resizeable=no")
    }
    </script>


    im Body greife ich wie folgt auf die function zu:
    <a href="#" onclick="winopen()"><img src="Clipart.jpg" border="0"></a>

    Und jetzt zu meinem Problem:
    Ich habe insgesamt 21 Cliparts (genauergesagt Thumpnails). Bei jedem Klick auf eines der Bilder will ich nun auf die JS-function zugreifen um ein neues Fenster zu öffnen, dass sich dynamisch der Breite und Höhe des großen Bildes anpassen sollte.

    Ist das möglich?? Wen ja, wie??

    Anm.: Ich habe immer eine große und ein kleine Version von jedem Bild. Es geht also nur um das Darstellen und nicht ums dynamische erzeugen.


    CU

    $PHP resource 4ever$

  • #2
    du kannst deine Funktion folgendermassen "dynamisieren":

    Code:
    <script> 
    function winopen(bildname,bildhoehe,bildbreite){ 
    window.open(bildname,"8B Home","width="+bildbreite+",height="+bildhoehe+",toolbar=no,menubar=no,resizeable=no") 
    } 
    </script> 
    
    
    <a href="#" onclick="winopen('Clipart.jpg','300','450')"><img src="Clipart.jpg" border="0"></a>
    das Problem wird dann nur sein, daß, wenn dein Fenster mal sagen wir mit 400*500 Größe geöffnet wurde und NICHT geschlossen wird, der nächste Aufruf durch die Funktion im selben Fenster (durch den gleichen Namen bedingt) passieren wird, egal, wie die Höhe und Breite angegeben sind.
    Abhilfe:
    Code:
    <script> 
    function winopen(bildname,bildhoehe,bildbreite){ 
    var viewer=window.open(bildname,"8B Home","width="+bildbreite+",height="+bildhoehe+",toolbar=no,menubar=no,resizeable=no");
    viewer.resizeTo(bildbreite, bildhoehe); 
    } 
    </script>

    Kommentar


    • #3
      BrainBug,
      ist es nicht möglich, dass sich der User die Fenster zB in die Taskleiste legen kann. Sprich, wenn ein neues geöffnet wird und das alte nicht geschlossen wurde, dass der User dann zwei Fenster offen hat??
      $PHP resource 4ever$

      Kommentar


      • #4
        wie mache ich bei

        <a href="#" onclick="winopen('8BHome/Puz/PuzPennt.jpg','550','391')"><img ......

        eine komplette Pfadangabe?? Bei meiner Version streikt der Browser.
        $PHP resource 4ever$

        Kommentar


        • #5
          immer locker bleiben....

          also, eins nach dem anderen.

          Du kannst natürlich auch die Variante haben, daß immer ein neues Fenster für jedes Bild geöffnet wird. Das würde dann so aussehen:
          Code:
          <script> 
          function winopen(bildname,bildhoehe,bildbreite){ 
          var time=datum.getTime();
          var neuerwindowname="8B Home "+time;
          window.open(bildname,""+neuerwindowname+"","width="+bildbreite+",height="+bildhoehe+",toolbar=no,menubar=no,resizeable=no") 
          } 
          </script>
          so würde jedes Fenster an den Basisnamen "8B Home" noch den Timestamp gehängt bekommen und somit würde immer ein neues Fenster geöffnet werden.

          Zum anderen: du mußt als Pfad natürlich den relativen Pfad angeben. Quatsch, natürlich geht auch ein absoluter http://-Pfad, ist aber überflüssig. D.h. wenn dein HTML-File im Verzeichnis "8BHOME" liegt und das gewünschte Bild in einem Unterverzeichnis, dann gibst du 'Puz/PuzPennt.jpg' an. sollte das Bild auf gleicher Hierarchie liegen wie dein File, dann mit '../Puz/PuzPennt.jpg'. Das '../' bedeutet erstmal ein Verzeichnis höher gehen von aktuellem Verzeichnis. Sind also relative Pfadangaben, relative gesehen von der derzeitigen Position (= Position des Files).
          Klar geworden oder wars verworren??

          P.S.: Was heißt denn eigentlich, dein Browser streikt?? Fehlermeldung oder Nachricht "kann Seite nicht finden" oder so??


          [Editiert von BrainBug am 19-07-2001 um 10:13]

          Kommentar


          • #6
            komisch, ich gebe den Pfad genau so an wie du es beschrieben hast aber es funkt nicht. Der IE sagt "Fehler in Seite"

            ="winopen('8BHome/Puz/PuzPennt.jpg','550','391')"

            Anmerkung:
            Das jpg liegt in diesen beiden Unterverzeichnissen.
            $PHP resource 4ever$

            Kommentar


            • #7
              BrainBug,

              ich glaube, dass was mit der winopen-Funktion nicht stimmt. Ich hab's grad ohne Pfadangabe probiert und da bekomme ich auch vom Browser (IE & Netscape) 'ne Fehlermeldung ("Fehler auf der Seite").

              Kannst Du das nochmal checken??

              Anmerkung:
              so rufe ich die function winopen auf:
              <a href="#" onclick="winopen('PuzPennt.jpg','550','391')"><img src="8BHome/Thumbs/RTpuz/THPuzPennt.jpg" width="62" height="81" border="0"></a>

              [Editiert von Metallica am 23-07-2001 um 06:52]
              $PHP resource 4ever$

              Kommentar


              • #8
                BrainBug, kannst Du mir bitte nochmal helfen.
                Ist wirklich dringend.

                Many Thanxs
                $PHP resource 4ever$

                Kommentar


                • #9
                  sorry, hatte einen Code-Schnipsel vergessen
                  Code:
                  <script> 
                  function winopen(bildname,bildhoehe,bildbreite){ 
                  var datum= new Date();
                  var time=datum.getTime();
                  var neuerwindowname="8B Home "+time;
                  window.open(bildname,""+neuerwindowname+"","width="+bildbreite+",height="+bildhoehe+",toolbar=no,menubar=no,resizeable=no") 
                  } 
                  </script>
                  hat nur die erste Zeile in der funktion gefehlt.

                  Kommentar


                  • #10
                    sorry BrainBug, aber ich bekomme noch immer die gleiche Fehlermeldung vom Browser (Fehler auf der Seite).

                    Obwohl ich die datum-Variable in den Code eingefügt habe.
                    $PHP resource 4ever$

                    Kommentar


                    • #11
                      habs mir ja schon fast gedacht:
                      man darf keine Leerzeichen im Window-Namen unterbringen.
                      Also, einfach die Zeile
                      var neuerwindowname="8B_Home_"+time;
                      einbauen und schon klappt's

                      Kommentar


                      • #12
                        yeahhhhhhhhhhhh...

                        es funkt affengeil und auch mit mehreren Fenstern.
                        DAAAAAAAAAANKE BrainBug.

                        Noch was:
                        Schau mal in die PHP-Sektion. Ich hab da noch ein klitzekleines Problem mit der Highscoreliste.
                        Beitrag: spezielle Variablenausgabe (Teil3)
                        $PHP resource 4ever$

                        Kommentar


                        • #13
                          Warum macht mir sowohl der IE als auch der Netscape bei den Bildern immer einen weißen Rand drumherum?
                          Ich übergebe doch die width und height als fixen Parameter der winopen-funktion.

                          Nochwas: Der Name 8BHome steht nie im JS-Fenster. Im IE steht der Pfad und im Netscape die Pixelgröße des jpg's. Warum? Oder steht erst 8BHome drinnen wenn ich mit der Site online bin?
                          $PHP resource 4ever$

                          Kommentar


                          • #14
                            nee, also: erstens ist der Name eines Windows völlig unabhängig vom TITLE eines Windows -> Name ist nur zuständig für die interne Referenz. Denn Titel kannst du nur durch eine HTML-Seite beeinflussen -> hier kannst du nur mit PHP das lösen -> immer die selbe PHP-Seite aufrufen und an diese den Pfad des Bildes übergeben und das Skript gibt dieses dann als <img src> aus, da kannst du dann auch einen Titel definieren.

                            zweitens zum Rahmen ums Bild: es gibt sowas wie ein Offset bei allen Browsern und wie es Gott oder was weiß ich wer will, hat da natürlich jeder Browser wieder seinen eigenen Standard. Dem Himmel sei dank! Kannst du nur halbwegs durch die oben beschriebene PHP-Variante lösen.

                            Kommentar


                            • #15
                              Das ist aber komisch.
                              In einer anderen htm von mir verwende ich folgende JS-Function um ein Fenster zu öffnen:
                              <script>
                              function winopen(){
                              window.open("MyGame.swf","ENJOY-IT","toolbar=no,menubar=no,resizeable=no,width=720,height=500")
                              }
                              </script>

                              Aufrufen tue ich das ganze so:
                              <a href="#" onclick="winopen()"><img src="MyGame.jpg" width="335" height="239" border="0"></a>

                              Da funkt das mit dem Titel ENJOY-IT einwandfrei.
                              Ich wäre ja schon zufrieden wenn bei jedem Thumbnail dass der User anklickt wenigstens 8BHome stehen würde.

                              Ich dachte, dass Du mit:
                              var neuerwindowname="8BHome"+time;
                              window.open(bildname,""+neuerwindowname+"",.....
                              den Titel des Fensters festlegst. ?!?!
                              $PHP resource 4ever$

                              Kommentar

                              Lädt...
                              X