mook: visibility eines bildes mit this erzwingen

Hallo,

ich habe in einem Array 20 Bilder drin und diese mit einer for Schleife ausgegeben mit style=visibility:hidden.
Nach der Ausgabe möchte ich nun, dass, wenn ich auf eines dieser Bilder doppelklicke, genau das angeklickte Bild sichtbar wird.

..array deklariert und mit bildern gefuellt..

for(i=0; i<zahl; i++)
document.write('<img id='+array[i]+' src='+array2[i].src+' style="visibility:hidden" onDblClick="javascript:f()">');

function f(){

return
 this.style.visibility=="visible";
}

Damit hat es aber nicht geklappt.
Mit getElementById kann ich auf die Grafiken auch nicht zugreifen.

Kann mir jemand helfen?

Dank im voraus
mook

  1. Hi,

    document.write('<img id='+array[i]+' src='+array2[i].src+' style="visibility:hidden" onDblClick="javascript:f()">');

    was erwartest Du vom JavaScript-Code "javascript:"?

    function f(){
    return

    Die Funktion direkt nach dem Aufruf zu verlassen, dürfte zu verhältnismäßig geringer Aktivität führen.

    this.style.visibility=="visible";

    Das window-Objekt dürfte über keine style-Eigenschaft verfügen, sofern Du nichts dergleichen erzeugt hast. Somit resultiert der Zugriff auf dessen visibility-Eigenschaft in einem Fehler. Der Vergleich mit dem Wert "visible" nützt Dir also nichts - aber selbst wenn es window.style gäbe, warum verwirfst Du das Ergebnis des Vergleiches umgehend?

    Damit hat es aber nicht geklappt.

    Nein, in der Tat. Ich habe das Gefühl, Du wurschtelst Dir hier ein paar Code-Schnipsel zusammen, die Du vielleicht mal einzeln in irgendwelchen Zusammenhängen gesehen hast. Gehe statt dessen planvoll vor.

    Mit getElementById kann ich auf die Grafiken auch nicht zugreifen.

    Nein, aber mit 'this' - und zwar exakt dort, wo 'this' das <img>-Elementobjekt referenziert.

    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. Ein anderer Versuch war dieser hier, der auch nicht zum Erfolg führte:

      for(i=0; i<zahl; i++)
      document.write('<img id='+array[i]+' src='+array2[i].src+' style="visibility:hidden" onDblClick="this.style.visibility=visible">');

      1. Hi,

        Ein anderer Versuch war dieser hier, der auch nicht zum Erfolg führte:

        nicht raten.

        document.write('<img id='+array[i]+' src='+array2[i].src+' style="visibility:hidden" onDblClick="this.style.visibility=visible">');

        Was steht denn in der Variable namens visible?

        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. document.write('<img id='+array[i]+' src='+array2[i].src+' style="visibility:hidden" onDblClick="this.style.visibility=visible">');

          Was steht denn in der Variable namens visible?

          Wie kann ich die visibility Eigenschaft von dem image Element auf visible setzen?

          1. Hallo mook,

            Wie kann ich die visibility Eigenschaft von dem image Element auf visible setzen?

            Indem du auf ein anderes Element klickst, das gerade nicht auf visibility:hidden und nicht auf display:none steht und das den Wechsel der entsprechenden visibility- oder display-Eigenschafte deines Bildes veranlasst.

            Gruß Gernot

          2. Hi,

            document.write('<img id='+array[i]+' src='+array2[i].src+' style="visibility:hidden" onDblClick="this.style.visibility=visible">');
            Was steht denn in der Variable namens visible?
            Wie kann ich die visibility Eigenschaft von dem image Element auf visible setzen?

            indem Du Code schreibst, der dies tut. Bisher schreibst Du nur Code, der beinahe - aber eben nicht ganz! - völlig falsch ist. Mit anderen Worten: Du rätst Dir irgendwas zusammen. Und wenn der Code dann nicht zufällig vollkommen richtig ist, verwirfst Du alles und rätst etwas komplett Neues, anstatt die Fehler zu korrigieren.

            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. indem Du Code schreibst, der dies tut. Bisher schreibst Du nur Code, der beinahe - aber eben nicht ganz! - völlig falsch ist. Mit anderen Worten: Du rätst Dir irgendwas zusammen. Und wenn der Code dann nicht zufällig vollkommen richtig ist, verwirfst Du alles und rätst etwas komplett Neues, anstatt die Fehler zu korrigieren.

              Anscheinend weisst du es auch nicht, wie der Code lauten soll.

              1. Hi,

                Anscheinend weisst du es auch nicht, wie der Code lauten soll.

                was erweckt diesen Anschein? Der Umstand, dass ich Dir keine Lösung nenne? Nun, das tue ich nie, weil ich davon überzeugt bin, dass das der größte Schaden ist, den ich Dir zufügen könnte - und bisher hast Du mir nichts getan.

                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. was erweckt diesen Anschein? Der Umstand, dass ich Dir keine Lösung nenne? Nun, das tue ich nie, weil ich davon überzeugt bin, dass das der größte Schaden ist, den ich Dir zufügen könnte - und bisher hast Du mir nichts getan.

                  Von dir möchte ich bestimmt keine Lösungen, falls du welche überhaupt parat haben solltest. Noch weniger möchte ich überhaupt, dass du auf meine Fragen reagierst. Unterstellungen bzw. unbewiesene Behauptungen sagen einiges über deine Person aus, mehr möchte ich von dir nicht erfahren.

  2. Hallo mook,

    return

    Die Funktion returnt hier, damit wird kein weiterer Code ausgefuehrt. Lass das return einfach weg.

    Gruß,

    Dieter

    1. Hallo Dieter,

      return
      Die Funktion returnt hier, damit wird kein weiterer Code ausgefuehrt. Lass das return einfach weg.

      Davon mal abgesehen, ich bezweifele, dass ein Element, das auf visibility:hidden steht, auf überhaupt irgendeinen Event reagiert, es will sich doch nicht verraten!

      Gruß Gernot

      1. Hallo Gernot.

        --
        super me

        Size?

        Einen schönen Montag noch.

        Gruß, Mathias

        --
        ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
        debian/rules
        1. Hallo Mathias,

          super me

          Size?

          Ja das auch; ich wünschte mir passte wieder XL statt XXL

          Gruß Gernot

  3. for(i=0; i<zahl; i++)
    document.write('<img id='+array[i]+' src='+array2[i].src+' style="visibility:hidden" onDblClick="javascript:f()">');

    Das javascript: Label ist hier überflüssig.

    function f(){

    return
    this.style.visibility=="visible";

    Hast du dir mal ausgeben lassen, was this für einen Wert hat? Am besten mit einem Firefox denn dann kommst du sofort dahinter warum das ncith funktoniert.

    Mit getElementById kann ich auf die Grafiken auch nicht zugreifen.

    Kannst du schon, musst du aber gar nicht.

    Struppi.

    --
    Javascript ist toll (Perl auch!)