Benjamin: Menu popup

Hi

ich will mir ein menu basdeln was per javascript die unterpunkte anzeigt und wieder verschwinden läßt  also in meiner sample datei funktioniert da auch aber wenn ich es 1 zu 1 in mein projekt kopiere spuckt meine javascript console immer

menu10outline is not defined
onclick(click clientX=0, clientY=0)

aus keine ahung warum weil es ja in der sample ohne probleme funktionierte :/  hat einer eine idee warum ?

{literal}
<script type="text/javascript">
var Open = "";
var Closed = "";

function preload() {
 if(document.images) {
  Open = new Image(16,13);
  Closed = new Image(16,13);
  Open.src = "open.gif";
  Closed.src = "closed.gif";
  }
 }

function showhide(what,what2) {
 if (what.style.display=='none') {
  what.style.display='block';
  what2.src=Open.src
 }
 else {
  what.style.display='none';
  what2.src=Closed.src;
}
}
</script>
{/literal}

<div class="shadow2">
<div class="shadow1">
 <!--- menu1 --->
 <span onClick="showhide(menu1outline,menu1sign)" class="pointer" id="menu1sign"> Demo! </span><br>
 <span id="menu1outline" style="display:none">
   <a id="space" href="#">Demolink</a><br>
 </span>

<!--- menu12 --->
 <span onClick="showhide(menu2outline,menu2sign)" class="pointer" id="menu2sign"> Demo! </span><br>
 <span id="menu2outline" style="display:none">
   <a id="space" href="#">Demolink</a><br>
 </span>

</div>
</div> <!-- shadow1, shadow2 -->

  1. Hallo Benjamin,

    <span onClick="showhide(menu1outline,menu1sign)" class="pointer" id="menu1sign"> Demo! </span><br>

    setz mal die IDs in '': onClick="showhide('menu1outline','menu1sign')"

    Gruß, Jürgen

    1. setz mal die IDs in '': onClick="showhide('menu1outline','menu1sign')"

      sry aber IDs?

      Bin javascript noob :/
      wie meinst du das?

      1. Hallo Benjamin,

        die Funktion showhide benötigt als Übergabeparameter die IDs von zwei Elementen als String. Daher müssen menu1outline und menu1sign in ' (einfache Anführungszeichen) eingekleidet werden.

        Die IDs sind das, was in den Elementen, bei dir SPANs, hinter id= steht. Und da String in String nicht so einfach geht, stehen außen doppelte (") und innen einfache (') Anführungszeichen.

        Gruß, Jürgen

        1. Danke nochmal Jürgen

          hat mir geholfen :)  hab auch gesehn das das jetzt ein zu umständlicher weg ist ... benutz jetzt einfach Jquery ^^

          naja es geht :)  thx nochmal

          {literal}
          <script type="text/javascript">

          function showhide(what) {
           el = $('#menu'+what+'outline');
            el.toggle();
          }
          </script>
          {/literal}>

          <span onClick="showhide(1)" class="pointer" id="menu1sign"> Demo </span><br>
           <span id="menu1outline" style="display:none">
             <a id="space" href="#">Demolink</a><br>
           </span>

  2. Lieber Benjamin,

    was stört Dich eigentlich an der sinnvollsten (weil mit CSS realisierten) Variante? <http://de.selfhtml.org/css/layouts/navigationsleisten.htm#modern@title=Navi-Leisten mit CSS>

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)