Benjamin: Wechsellink

Hallo Leute!

Ich habe ein Problem, und ich hoffe, hier Hilfe zu finden. Die Sache ist die:

Ich habe eine Liste von Links. Wenn ich nun einen Link anklicke, sollen sich alle Links dieser Liste ändern, und zwar sowohl der Linktext, als auch der Link-URL.
Im Internet Explorer gibt es unzählige Varianten, das zu realisieren. Aber ich habe noch keine gefunden die auch im Netscape 4.5 funzt. Das sollte aber möglichst schon klappen.

Vielen Dank im Vorraus.

Gruß,
Benjamin

  1. Hallo Benjamin,

    arbeite doch mit Layern, sobald Du einen der Links anclickst wird ein Layer aktive Layer ausgeblendet und der nächste entsprechend eingeblendet. Das funktioniert über Javascript in beiden Browsern.
    So sähe in etwa der entsprechende Quellcode aus.

    <html>
    <head>
    <title>showHideLayers</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function showHideLayers() { //v6.0
      var i,p,v,obj,args=showHideLayers.arguments;
      for (i=0; i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) { v=args[i+2];
        if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
        obj.visibility=v; }
    }
    //-->
    </script>
    </head>

    <body>

    <div id="eins" style="position:absolute; left:12px; top:43px; width:133px; height:93px; z-index:1">
      <p><a href="#" onClick="showHideLayers('eins','','hide','zwei','','show')">Link
        1</a></p>
      <p><a href="#">Link 2 </a></p>
    </div>
    <div id="zwei" style="position:absolute; left:210px; top:42px; width:134px; height:97px; z-index:2; visibility: hidden;">
      <p><a href="#" onClick="showHideLayers('eins','','show','zwei','','hide')">Link
        3</a></p>
      <p><a href="#">Link 4</a> </p>
    </div>
    </body>
    </html>

    Hoffe das hilft,

    Gruß
    Ronald

    1. Hallo Ronald,

      darauf bin ich noch gar nicht gekommen! Danke.
      Der Nachteil einer solchen Technik ist natürlich, dass bei einer sehr umfangreichen Formatierung dieser Linklisten ebendiese Formatierungen auf ALLE Layer angewendet werden müssen. Aber die Layer kann man ja auch nach einem festen Schema dynamisch erzeugen ("document.write()").

      Gruß,
      Benjamin