woelfchen: div sichtbar/unsichtbar

also nach langem suchen und überlgen wende ich mich wieder einmal an euch, da ihr mir schon öfter sehr geholfen habt!
Gleich vorweg - ich habe nichts ähnliches gefunden beim durchsuchen des forums.

Also:

ich habe 3 divs übereinander
und 3 links

alle 3 divs sind auf display:none

klicke ich nun auf link eins wird div 1 sichtbar
klicke ich auf link 2 wird eins unsichtbar und 2 sichtbar

das problem dabei ist, dass ganz am anfang kein div sichtbar ist
wenn ich nun zb. div 1 am anfang gleich sichtbar mache bleibt dieser div 1 auch sichtbar wenn ich die anderen divs öffne - was ich natürlich nicht möchte

erst wenn ich auf link 1 klicke verschwindet div 1 sobald man einen anderen link anklickt

hoffe das war verständlich.

im code sieht das so aus:

<script type="text/javascript">
menu_open = "";
function menu(menuid)
{ if (menu_open != "")
{ document.getElementById(menu_open).style.display="none"; menu_open = menuid; }
else { menu_open = menuid; }
document.getElementById(menuid).style.display="inline"; }
</script>

und ein layer:

<div id="div1" style="position:absolute; left:132px; top:121px; width:570px; height:400px; z-index:3; display:none;">
</div>

und im link:

onClick="menu('div1')"

vielleicht könnt ihr mir ja weiter helfen!!

  1. Hallo erstmal!

      
    <script type="text/javascript">
    ~~~~~~javascript
      
      
    function effekt($a){  
       $d=document.getElementById('grund').getElementsByTagName('div')  
       for(var $i=0;$i<$d.length;$i++)  
          $d[$i].style.display='none'  
       $d[$a].style.display='block'  
    }
    ~~~~~~html
      
      
    </script>  
    <!-- Auslassung -->  
    <div id="grund">  
       <b onClick="effekt(0)">click 1</b>  
       <b onClick="effekt(1)">click 2</b>  
       <b onClick="effekt(2)">click 3</b>  
       <div>nummer 1</div>  
       <div>nummer 2</div>  
       <div>nummer 3</div>  
    </div>
    

    Gruß aus Berlin!
    eddi

    1. Danke, Danke, Danke!!
      Genau sowas hab ich gesucht!
      Und so schnell!

  2. Hi,

    <div id="div1" style="display:none;">
    </div>

    BTW: Ist es gewollt/sinnvoll, daß Surfer mit deaktiviertem JS das DIV erst sehen können, wenn sie auch CSS deaktivieren - sofern das überhaupt geht/praktikabel ist?

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. Also zu früh gefreut. Das Script holt sich jetzt divs in der Reihenfolge wie sie im Quelltext angeschrieben sind, aber ich hab zwischen den divs verschachtelt auch nochmals divs.
    Bräuchte also ein script, dass sich die divs nach ihrem id holt.
    Vielleicht ist das eh ganz einfach aber ich beherrsche kein java...

    1. Hallo Welpchen,

        
      <script type="text/javascript">
      ~~~~~~javascript
        
        
      function effekt($a){  
         for(var $i=1;$i<4;$i++)  
            document.getElementById('x'+$i).style.display='none'  
         document.getElementById('x'+$i).style.display='block'  
      }
      ~~~~~~html
        
        
      </script>  
      <!-- Auslassung -->  
      <div id="grund">  
         <b onClick="effekt(1)">click 1</b>  
         <b onClick="effekt(2)">click 2</b>  
         <b onClick="effekt(3)">click 3</b>  
         <div id="x1">nummer 1</div>  
         <div id="x2">nummer 2</div>  
         <div id="x3">nummer 3</div>  
      </div>
      

      macht ein Butterkechs!

      Gruß aus Berlin!
      eddi