Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Bildwechsel o.k, aber wie geht folgendes ...





Frage

Hallo, habe auf einer HP den Bildwechsel definiert. Ball ist grün, bei onMouseOver wird er rot, bei onMouseOut wieder grün. Nun soll er bei onClick gelb werden und bei onMouseOut auch gelb bleiben (da aktiv). Wer kann helfen? hier die HP dazu: http://www.kostos.de

Antwort 1 von sutadur

Ich denke das ist so gemeint, dass der Menüpunkt gelb bleiben soll, so dass der Besucher weiß, welcher Menüpunkt gerade aktiv ist, richtig?
Mein Tip dazu: verzichte auf das Frameset und mach eine Tabelle. Dann kannst Du auf jeder Seite (die dann ja neben dem eigentlichen Inhalt auch das Menü enthält) vor den entsprechenden Menüpunkt einen gelben Punkt setzen als feste Grafik.
Alternativ, wenn es denn unbedingt Frames sein sollen, kannst Du ähnlich wie bei einer Tabelle verschiedene Menüleisten vorbereiten (eben mit jeweils einem gelben Punkt vor dem gewählten Menüpunkt) und dann mit Javascript beide Frames aktualisieren: Den Menü-Frame mit der nun aktuellen Menüleiste, den Hauptframe mit dem dazugehörigen Inhalt ...

Ich hoffe, ich hab mich verständlich ausgedrückt ... :o)

Antwort 2 von semi


<script>
var GRUEN    = 0;
var ROT      = 1;
var GELB     = 2; 
var btnColor = ROT;

function onMouseOver() {
  if(btnColor == GRUEN) {
    // Farbe ROT setzen
    btnColor = ROT;
  }
}
function onMouseOut() {
  if(btnColor == ROT) {
    // Farbe GRUEN setzen
    btnColor = GRUEN;
  }
}
function onMouseClick() {
  if(btnColor == GELB) {
    // Farbe ROT setzen
    btnColor = ROT;
  }
  else(btnColor == ROT) { 
    // Farbe GELB setzen
    btnColor = GELB;  
  }
}
</script>


Antwort 3 von semi

Uuups! Am Anfang sollte
var btnColor = GRUEN;

stehen.

Antwort 4 von Bakterie

@sutadur: das mit der Tabelle habe ich auch schon überlegt. Mal sehen, vielleicht mach ich´s noch.

@semi: sorry, bin in JS noch blutiger Anfänger. Kannst Du mir etwas genauer erklären, wie ich die gifs green, red, yellow in das Script einarbeite? Thanx.

Antwort 5 von semi

Hier etwas andere Lösung. Du kannst es direkt auf Deiner Seite einsetzen.

Datei button.js

  var imgRed    = new Image();
  var imgGreen  = new Image();
  var imgYellow = new Image();
  imgRed.src    = "images/red.gif";
  imgGreen.src  = "images/green.gif";
  imgYellow.src = "images/yellow.gif";

  var buttonCount  = 0;
  var activeButton = "";
  
  function createButton(href, text, target) {

    dst = (target)?" target=\"" + target + "\"":"";
    id = "button" + buttonCount;

    imgTag = "<img id=\""+id+"\" src=\""+imgGreen.src+"\" border=0 width=30 height=20 style=\"border-style:none;\">";
    aTag = "<a href=\""+href+"\" onMouseOver=\"setImage('"+id+"','"+imgRed.src+"');\"" +
		     " onMouseOut=\"setImage('"+id+"','"+imgGreen.src+"');\"" +
		     " onClick=\"setImage('"+id+"','"+imgYellow.src+"');\"" +
                     " border=0 style=\"text-decoration:none;\"" +dst+">" +
		     imgTag+" "+text+"</a>";
    document.write(aTag);
    buttonCount++;

  }

  function setImage(buttonId, src) {

    switch(src) {
    case imgRed.src:
      if(buttonId!=activeButton)
        document.getElementById(buttonId).src = src;
      break;
    case imgGreen.src:
      if(buttonId!=activeButton)
        document.getElementById(buttonId).src = src;
      break;
    case imgYellow.src:
      if(buttonId!=activeButton) {
        document.getElementById(buttonId).src = src;
        if(activeButton!="")
          document.getElementById(activeButton).src = imgGreen.src;
        activeButton = buttonId;
      }
      break;
    }

  }


Deine Linkliste

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>links</title>
<link rel=stylesheet type="text/css" href="format.css">
<script language="JavaScript" src="button.js" type="text/javascript">
</script>
</head>
<body>
<table cellspacing=0 cellpadding=0>
<tr height=20><td><script>createButton("index.htm", "Home", "_top");</script></td></tr>
<tr height=20><td><script>createButton("depot/index.htm", "Mitgliederbereich");</script></td></tr>
<tr height=20><td><script>createButton("wer.htm", "Gesellschafter");</script></td></tr>
<tr height=20><td><script>createButton("geschichte.htm", "History");</script></td></tr>
<tr height=20><td><script>createButton("strategie.htm", "Strategie");</script></td></tr>
<tr height=20><td><script>createButton("depot.htm", "Depot", "haupt");</script></td></tr>
<tr height=20><td><script>createButton("vertrag.htm", "Gesellschaftsvertag", "haupt");</script></td></tr>
<tr height=20><td><script>createButton("gaestebuch/index.htm", "Gästebuch", "haupt");</script></td></tr>
</table>
</body>
</html>


Gruss,
Michael

Antwort 6 von semi

Fehler zu machen wird mir langsam zur Gewohnheit :-)
In den Zeilen "Mitgliederbereich" bis "Strategie" fehlt das Target-Frame

So sollte es aussehen:

<tr height=20><td><script>createButton("depot/index.htm", "Mitgliederbereich", "haupt");</script></td></tr>
<tr height=20><td><script>createButton("wer.htm", "Gesellschafter", "haupt");</script></td></tr>
<tr height=20><td><script>createButton("geschichte.htm", "History", "haupt");</script></td></tr>
<tr height=20><td><script>createButton("strategie.htm", "Strategie", "haupt");</script></td></tr>


Gruss,
Michael

Antwort 7 von Bakterie

Hey Semi,
tausend Dank! Echt nett von Dir.

Gruss
Michael (Bakterie)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: