glowhead: Button -active / -is active / -was active

Mittag liebes forum!
wie man bei überwandern mit der mouse einen button tauscht, also bei mir active macht und zurück, versteh ich ja noch aber wie erreiche ich bei gecklicktem button (is active), das der button bei verlassen nicht wieder auf den standart zurück fällt (Button), also quasi die function ButtonOut() nicht ausführt schlicht und einfach das b[2] geladen ist?
Anschließend will ich, das wenn ein anderer button gecklick wird, das image b[3] in den "verlassenen" button geladen wird und erst wenn mann erneut überwandert b[1]darübergeladen wird!

var b = new Array();
 b[0] = new Image(); b[0].src = "b.gif";
 b[1] = new Image(); b[1].src = "b_active.gif";
 b[2] = new Image(); b[2].src = "b_isactive.gif";
 b[3] = new Image(); b[3].src = "b_wasactive.gif";

function overButton() {
 document.getElementById("but").src = b[1].src;
}

function ButtonOut() {
 document.getElementById("but").src = b[0].src;
}

function ButtonisActive() {
 document.getElementById("but").src = b[2].src;
}

funktion ButtonwasActive() {
}

hab der letzten function schon nen namen gegeben und es mit onBlur() versucht weil ich dachte bei neugeclicktem Button verliert der "verlassene" den focus!
geht aber nicht! kann mir einer bitte helfen, die referenzen in selfhtml helfen mir irgentwie nicht mehr weiter! b.z.w. ich begreif die logik dahinter noch nicht, weiß einfach nicht wo ich anfangen soll?

Danke im vorraus mfg glowhead

  1. Hi...nimm mal dieses script...das is besser.......

    <script language="JavaScript">
    <!--

    if (navigator.appVersion.indexOf("2.") != -1){
     check = false;
     }
    if ((navigator.appVersion.indexOf("3.") != -1) && (navigator.appName.indexOf("Explorer") != -1)){
     check = false;
     }
    else
     {
     check = true;
     }
    if (check == true){
     image0 = new Image();
     image0.src = "images/navohneZeil5xSpal1.gif";
     image0on = new Image();
     image0on.src = "images/navmitZeil5xSpal1.gif";
     image0stay = new Image();
     image0stay.src = "images/navmitZeil5xSpal1.gif";

    image1 = new Image();
     image1.src = "images/navohneZeil7xSpal1.gif";
     image1on = new Image();
     image1on.src = "images/navmitZeil7xSpal1.gif";
     image1stay = new Image();
     image1stay.src = "images/navmitZeil7xSpal1.gif";

    image2 = new Image();
     image2.src = "images/navohneZeil9xSpal1.gif";
     image2on = new Image();
     image2on.src = "images/navmitZeil9xSpal1.gif";
     image2stay = new Image();
     image2stay.src = "images/navmitZeil9xSpal1.gif";

    image3 = new Image();
     image3.src = "images/navohneZeil11xSpal1.gif";
     image3on = new Image();
     image3on.src = "images/navmitZeil11xSpal1.gif";
     image3stay = new Image();
     image3stay.src = "images/navmitZeil11xSpal1.gif";

    image4 = new Image();
     image4.src = "images/navohneZeil13xSpal1.gif";
     image4on = new Image();
     image4on.src = "images/navmitZeil13xSpal1.gif";
     image4stay = new Image();
     image4stay.src = "images/navmitZeil13xSpal1.gif";

    image5 = new Image();
     image5.src = "images/navohneZeil15xSpal1.gif";
     image5on = new Image();
     image5on.src = "images/navmitZeil15xSpal1.gif";
     image5stay = new Image();
     image5stay.src = "images/navmitZeil15xSpal1.gif";

    }
    imageStay = ""
    function imageon(name){
     if (imageStay != name){
             document[name].src = eval(name + "on.src");
     }
    }
    function imageoff(name){
     if (imageStay != name){
             document[name].src = eval(name + ".src");
     }
    }
    function on(name){
            if (check == true){
     imageon(name);
     }
    }
    function off(name){
            if (check == true){
     imageoff(name);
     }
    }
    function stay(name){
     if (check == true){
     document[name].src = eval(name + "stay.src");
     if (imageStay != name){
      if (imageStay != ""){
       document[imageStay].src = eval(imageStay + ".src");
      }
     }
     imageStay = name
     }
    }
    // -->
    </script>

    und dies sind die Links auf den Buttons:

    <a href="mitte.htm" target="mitte" onmouseover="on('image0');return true" onmouseout="off('image0'); return true" onclick="stay('image0'); return true" onFocus="this.blur()"><img src= dienbild></A>

    Ich hoffe es hilft

    Mfg

    1. Hi..folgende fragen hab ich noch:

      unklar sind mir folgende zeilen:

      image0 = new Image();
      image0.src = "images/navohneZeil5xSpal1.gif";

      1.mir ist schon klar das es sich dabei um eine andere art von array handelt, aber bei 4 bildern brauch ich das doch nur bis image3 machen und würde jetzt mal schätzen die zeilen sehen je nach bild dann so aus:

      image0 = new Image();
      image0.src = "b.gif";

      bzw mit den andern bilder!
      image1.src = "b_active.gif";
      image2.src = "b_isactive.gif";
      image0.src = "b_wasactive.gif";

      Da ich die Buttons in dem gleichen Verzeichnis hab wie der Rest meiner Seite, wären die zeilen doch so korrekt, oder?

      2.was hat das mit dem appVersion und appName auf sich, warum?

      3.is das korrekt wenn ich onclick="stay('image0') sage, das image2 stehen bleibt!

      4.was muss ich sonst noch austauschen?

      <a href="mitte.htm" target="mitte" onmouseover="on('image0');return true" onmouseout="off('image0'); return true" onclick="stay('image0'); return true" onFocus="this.blur()"><img src= dienbild></A>

      Denke das wenn du sagst das dieses script besser is, du mir helfen konntest! allerdings wie du auch an meinen fragen siehst, bin ich mir ziehmlich unsicher wie ich es anzuwenden hab! ach und kann ich das script auslagern oder würde es probleme verursachen?
      Danke nochmal im Vorraus!
      mfg glowhead

      1. Hi.

        Also 1.
        image0 = new Image();
         image0.src = "bild1normal";
         image0on = new Image();
         image0on.src = "bild1over";
         image0stay = new Image();
         image0stay.src = "bild1gedrückt";

        image1.src = "bild2normal";
         image1on = new Image();
         image1on.src = "bild2over";
         image1stay = new Image();
         image1stay.src = "bild2gedrückt";

        und im Bodybereich:

        //button1
        <a href="irgendwohin" target="mitte" onmouseover="on('image0');return true" onmouseout="off('image0');return true" onclick="stay('image0');return true" onFocus="this.blur()"><img src="bild1normal" border=0 name=image0></A>

        //button2

        <a href="irgendwohin2" target="mitte" onmouseover="on('image0');return true" onmouseout="off('image1');return true" onclick="stay('image1');return true" onFocus="this.blur()"><img src="bild2normal" border=0 name=image1></A>

        Ich hoffe jetzt etwas übersichtlicher

        2. Den code (die Functionen auch die app.name Functionen) einfach übernehmen..is ne Art Browserweiche...

        3. das ist nicht normal

        4. mein fehler bei dem img-tag bitte als name einfügen...muss dann  mit den namen aus dem Script übereinstimme...siehe oberes beispiel...

        So ich hoff du kommst etwas besser klar mit dieser beschreibung.

        gruß

        1. button2
          <a href="irgendwohin2" target="mitte" onmouseover="on('image0');return true" onmouseout="off('image1');return true" onclick="stay('image1');return true" onFocus="this.blur()"><img src="bild2normal" border=0 name=image1></A>

          sorry ein versehen  muss natürlich heissen ........onmouseover="on('image1').......

        2. hoi nochmal! is echt nett das du mir versuchst das zu erklärn, hab aber immernoch nen problem! wiso button1 und button2? versteh ich da jetzt was total falsch oder hast du mich falsch verstanden?

          ich möchte das mein button 4 verschiedene zustände haben kann!

          1. normalzustand
          2. onmouseover zustand
          3. onclick zustand ------ solange die aufgerufene Datei geladen ist!
          4. onblur zustand ------ wenn eine neue Datei geladen wird,
                                   bis wieder onmouseover! ideal wäre wenn der button schon
                                   im onblur zustand war, diesen auch
                                   wieder zu bekommen, nachdem erneuten onmouseover!

          die antwort auf die 4. frage hab ich denke ich somit auch noch nicht richtig verstanden! im img setzt ich nen namen der in den einzelnen funktionen des scripts als parameter (oder was auch immer?) für "name" eingesetzt wird?

          steht die nummer von zb image0 für die Indexnummer aus dem htmlcode?

          tut mir leid wenn ich nicht so schnell begreife, ich lern das scripten halt grad erst und dein script is bestimmt gut aber es verwirrt mich total!

          Danke mfg glowhead