Michel: div sichtbarkeit

Hallo und danke im voraus.

So nun zu meinem Problem .. ich habe einen div der beim aufruf der Seite unsichbar ist , dieser soll per klick auf einen Link sichbar werden.

code der bis jetzt nicht will:

<a href='javascript:document.elementById("edit").style.visibility="visible";' ><img src=bild.jpg></a>

<div id=edit style=visibility: hidden;>EDIT</div>

Wo ist der Denkfehler ?

ein Michel

  1. Hallo Michel!

    code der bis jetzt nicht will:

    <a href='javascript:document.elementById("edit").style.visibility="visible";' ><img src=bild.jpg></a>

    <div id=edit style=visibility: hidden;>EDIT</div>
    Wo ist der Denkfehler ?

    Dass es keine Methode »elementById« gibt? Google würde sagen: Meinten Sie »getElementById«?

    Ferner: Vermeide Konstrukte à la »href=javascript:« und nutze Event-Handler. Die Attributwerte sollten besser in Anführungszeichen gesetzt werden: <div id="edit" style="visibility:hidden;">...</div>. Sieht zu Beginn nach mehr Tipparbeit aus, lohnt sich aber.

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --

    _ - jenseits vom delirium - _
    [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    Nichts ist unmöglich? Doch!
    Heute schon gegökt?
    1. Hallo,

      Dass es keine Methode »elementById« gibt? Google würde sagen: Meinten Sie »getElementById«?

      Ferner: Vermeide Konstrukte à la »href=javascript:« und nutze Event-Handler. Die Attributwerte sollten besser in Anführungszeichen gesetzt werden: <div id="edit" style="visibility:hidden;">...</div>. Sieht zu Beginn nach mehr Tipparbeit aus, lohnt sich aber.

      Ja - dem schließe ich mich auch an

      mfg, roebert

      --
      Please do not confuse what we say with what we think we are saying.
      (^_^)
      Eternity is a very long time, especially towards the end.
      1. Hallo,

        Dass es keine Methode »elementById« gibt? Google würde sagen: Meinten Sie »getElementById«?

        Ferner: Vermeide Konstrukte à la »href=javascript:« und nutze Event-Handler. Die Attributwerte sollten besser in Anführungszeichen gesetzt werden: <div id="edit" style="visibility:hidden;">...</div>. Sieht zu Beginn nach mehr Tipparbeit aus, lohnt sich aber.

        Ja - dem schließe ich mich auch an

        mfg, roebert

        Danke für die vielen Post!

        Ansatz habe ich nun erst einmal so:

        <a href=#><img src=/bild.png border="0" onclick='javascript:document.getElementById("edit").style.visibility="visible";'></a>

        Ansprung zum Seitenanfang aus zwei Dingen nötig:
        ersten soll sich der Mauszeiger zum Link-Mauszeiger verändern
        zweitens soll der gesamte Bildschirm abgedunkelt werden

        <div id="edit" style="position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #000; text-align: center; color: #fff; font-family: Verdana,sans-serif; visibility: hidden; -moz-opacity: 0.9; filter:alpha(opacity=90); opacity: 0.9; z-index: 100;">

        am liebsten wäre mir natürlich das sich seite nicht verschiebt, der Mauszeiger trotzdem zum Link wird und sich die Seite an der Stelle komplett abdunkelt.

        1. Hello out there!

          Danke für die vielen Post!

          Warum beachtest du sie nicht richtig?

          <a href=#>

          Fehler. [HTML401 §3.2.2] hatte ich bereits verlinkt. Hattest du es nicht gelesen?

          <img src=/bild.png

          Derselbe Fehler nochmal.

          onclick='javascript:document.getElementById("edit").style.visibility="visible";'

          Wozu die unnütze Sprungmarke "javascript:"? [<http://de.selfhtml.org/javascript/sprache/eventhandler.htm@title=SELFHTML: Eventhandler>] hatte ich bereits verlinkt. Hattest du es nicht gelesen? Steht dort irgendwas von "onclick='javascript:"?

          Ansprung zum Seitenanfang aus zwei Dingen nötig:
          ersten soll sich der Mauszeiger zum Link-Mauszeiger verändern
          zweitens soll der gesamte Bildschirm abgedunkelt werden

          Nein unnötig. Weder erstens noch zweitens hat irgendwas mit einem Link zu tun. Für erstens gibt es die CSS-Eigenschaft 'http://de.selfhtml.org/css/eigenschaften/anzeigefenster.htm#cursor@title=cursor'.

          See ya up the road,
          Gunnar

          --
          „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
          1. Hello out there!

            Danke für die vielen Post!

            Warum beachtest du sie nicht richtig?

            <a href=#>

            Fehler. [HTML401 §3.2.2] hatte ich bereits verlinkt. Hattest du es nicht gelesen?

            <img src=/bild.png

            Derselbe Fehler nochmal.

            onclick='javascript:document.getElementById("edit").style.visibility="visible";'

            Wozu die unnütze Sprungmarke "javascript:"? [<http://de.selfhtml.org/javascript/sprache/eventhandler.htm@title=SELFHTML: Eventhandler>] hatte ich bereits verlinkt. Hattest du es nicht gelesen? Steht dort irgendwas von "onclick='javascript:"?

            Ansprung zum Seitenanfang aus zwei Dingen nötig:
            ersten soll sich der Mauszeiger zum Link-Mauszeiger verändern
            zweitens soll der gesamte Bildschirm abgedunkelt werden

            Nein unnötig. Weder erstens noch zweitens hat irgendwas mit einem Link zu tun. Für erstens gibt es die CSS-Eigenschaft 'http://de.selfhtml.org/css/eigenschaften/anzeigefenster.htm#cursor@title=cursor'.

            See ya up the road,
            Gunnar

            Sorry beim paste wohl zu viel entfernt .. natürlich habe ich die Anführungszeichen gesetzt ... ein direkter ausschnitt aus php-code:

            echo "      <th><a href="#" onclick='document.getElementById("comment").style.visibility="visible";'><blink><b>[Kommentar hinterlassen]</b></blink></a>";

            Wegen der Cursor-Eigenschaften schaue ich aber auch gleich einmal.

            Danke nochmals.

            Ein Michel

  2. Hallo,

    so funzt es:

    js:

    function show_el(el)
    {
     if(el)
     {
      document.getElementById(el).style.visibility='visible';
     }
    }

    html:

    <a href="#" onclick="show_el('edit')"><img src=bild.jpg></a>
    <div id="edit" style="visibility: hidden;">EDIT</div>

    mfg, roebert

    --
    Please do not confuse what we say with what we think we are saying.
    (^_^)
    Eternity is a very long time, especially towards the end.
    1. Hello out there!

      so funzt es:

      Nö von funzen kann keine Rede sein:

      <a href="#" onclick="show_el('edit')">

      Was soll der Sprung an den Seitenanfang? Wann immer im Quelltext 'href="#"'steht, liegt mit ziemlicher Sicherheit ein Fehler vor.

      Wozu das 'a'-Element? Der 'onclick'-Event kann auf das 'img'-Elemet angewandt werden.

      <img src=bild.jpg>

      Wenn keine Bilder geladen werden, ist keine Funktionalität da; es gibt nichts, worauf man clicken könnte. Der Alternativtext fehlt.

      So funzt es:

      <img src="bild.jpg" alt="Anzeigen" onclick="show_el('edit')">

      – jedanfalls für ein paar Nutzer, die JavaScript aktiviert haben. Die anderen bekommen nichts zu sehen.

      Sollen die auch in den Genuss der Anzeige kommen, darf das 'div'-Element erst mit JavaScript unsichtbar gemacht werden ('onload' für 'body'/'window').

      Mit Trennung von HTML und JavaScript sieht das dann so aus:

      Script:

      window.onload = function ()  
      {  
        var edit = document.getElementById("edit");  
        edit.style.visibility = "hidden";  
        
        document.getElementById("showEdit").onclick = function ()  
        {  
          edit.style.visibility = "visible";  
        };  
      };
      

      HTML:

      <img src="bild.jpg" alt="Anzeigen" id="showEdit">  
      <div id="edit">EDIT</div>
      

      See ya up the road,
      Gunnar

      --
      „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
  3. Hello out there!

    So nun zu meinem Problem .. ich habe einen div der beim aufruf der Seite unsichbar ist , dieser soll per klick auf einen Link sichbar werden.

    Nutzer erwarten nach Click auf einen Link eine neue Webseite. Für eine Aktion auf derselben Seite sieh besser einen Button vor.

    code der bis jetzt nicht will:

    <a href='javascript:document.elementById("edit").style.visibility="visible";' ><img src=bild.jpg></a>

    <div id=edit style=visibility: hidden;>EDIT</div>

    Das 'style'-Attribut hat den Wert "visibility:"; ein 'hidden;'-Attribut gibt es nicht. [HTML401 §3.2.2]

    Es gibt keine Methode 'elementById()'. [http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id@title=SELFHTML]

    Der JavaScript-Code gehört nicht in das 'href'-Attribut eines 'a'-Elements, sondern in einen Eventhandler ('onclick'). [http://de.selfhtml.org/javascript/sprache/eventhandler.htm@title=SELFHTML]

    Am besten wäre natürlich, HTML, CSS und JavaScript zu trennen.

    See ya up the road,
    Gunnar

    PS: Du plenkst.

    --
    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)