dirk: Dynamische Buttons

Beitrag lesen

dynamische  Buttons

Hallo Bernd,

zumindest mit JavaScript geht's.
Anders (Server) sicher auch.

Hab' mal etwas damit (JS) rumgespielt.
Dazu habe ich mir im Head der obersten
Framedefinition ein paar Variablen und Funktionen
definiert, glaube auch ein Array mit den
Knopfbildern.
Geht erstaunlicherweise. Framesets dürfen sonst
nur Framedefinitionen enthalten (+ noframes).

Eine der Variablen sagt etwas darüber aus in
welchem Zustand der Navigationsbalken (Index) ist,
eine andere etwas über das/die Inhaltsframe(s).
Eine der Funktionen heisst UpDateImgs(param)
und wird von jedem relevanten Maus(click)event
aufgerufen. Sie enthält soviel Statements wie
Knöpfe und macht jede Menge if-Abfragen und
lädt die Bildchen um oder (else) auch zurück.

Navigationsbalken alleine geht noch, wenn Deine
Seitenstruktur komplexer ist, kann's lästig
werden. Wenn noch synchrone MouseOvers und
MouseOuts dazukommen, dann tipp und debug man
schön.

Bei mir hat's auch ganz brauchbar funktioniert,
solange ich das Fenster nicht zurechtgezupft habe,
dann werden alle Variablen nämlich 'resettet'.
Ach so, mit animierten GIF's war's auch nicht so
dolle, die hören dann gerne auf animiert zu sein.
Warum Was Wann Wo hab' ich dabei aber nicht ganz
kapiert.

Mit Netscape 3 tut's auf Win3.11 + Win95 + NT4,
mit MSIE 3 auf Win3.11 nicht,
mit MSIE 3 auf Win95 gibt's Fehlermeldungen.

Das war grob mein Ansatz, vielleicht solltest Du
noch bei Christine wildern gehen, sie ist da
Crack!

Klaus

Hallo,
ich hatte mal ein ähnliches Problem. Button, die beim drüberfahren die Farbe wechseln (beim verlassen natürlich wieder zum Alten wechseln) und beim Anklicken noch mal ein anderes Bild zeigen. Das solange aktiv bleibt bis ein anderes Bild angeklickt wird.

Die else- Schleifen brauchst du wohl nicht. Wichtig ist sich eine gute NAmesgebung für die Bilder zu überlegen und  einem jeweiligen Bildersatz eine bestimmte Endung zuweisen.

Das Script sieht viel komplizierter aus als es ist.

Nimm 6 Bilder. mache zwei 3er-Staffeln draus. Unten ein kleines Beispiel.  
/**
var img_nach;
var img_vor;
var img_test;
var img_click;
var img_name;

function move_in(img_num,img_name)
  {

if (document.images)  

{
    Bild=document.images[img_num].src;
    Suche=Bild.indexOf("b.jpg");
    
      if(Suche!="-1")

{
       }
      else
       {  
        img_test="in";
        document.images[img_num].src=img_name;
       }
   }
}
function move_out(img_num,img_name)
{

if (document.images)  

{Bild=document.images[img_num].src;
    Test=Bild.indexOf("b.jpg");

if(Test!="-1")

{}
      else
       {  
       if(img_test=="in")
         {
        document.images[img_num].src=img_name;
        }
      }  
   }  
}
///
function bildwechsel(img_num,img_name)
{

if(document.images)
  {
   if(img_nach=="click")
   {

if(img_num!=img_click)
    {

Bild=document.images[img_click].src;
    Test=Bild.indexOf("b.jpg");

if(Test!="-1")
     {
     Folge=img_vor;
     Tausch=Folge.replace(/b.jpg$/,"sl.jpg");
     document.images[img_click].src=Tausch;
     document.images[img_num].src=img_name;
     img_click=img_num;
     img_vor=img_name;
     }
    }
   }
  }
  else
  {
  if(document.images){
  document.images[img_num].src=img_name;
  img_click=img_num;
  img_vor=img_name;
  }
  
  img_nach="click";    
}
}

}

<a href="javascript:bildwechsel('PZ','/121b.jpg');(Hier Befehl für den Link)"onmouseover="move_in('PZ','/121rsl.jpg')" onmouseout="move_out('PZ','/121sl.gif')"><img src=/121sl.gif name="PZ" HEIGHT=16 Width=118 border=0></a><br>

**/
Wenn du natürlich von einem Frame auf den anderern zugreifen möchtest mußt du halt alles neu referenzieren. Hier wird zwar ein Button mehr verwendet als du urspünglich wolltest, sieht aber auch ganz gut aus.
Funktioniert natürlich nur in einem 4er Brwoser.
Viel Spaß beim Klammern prüfen und debuggen. Das Script läuft, das kann ich dir versprechen.
Aber du mußt halt einige Sachen (vor allem Klammern) prüfen. Oben sind glaube ich zumindest zwei Variablen zu viel angegeben. Aber zuviel schadet ja nicht.

dirk