• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

JavaScript-Abfrage

Nightwing

New member
Hi,

ich hab ein Problem, das ich alleine nicht gelöst kriege, ich hoffe Ihr könnt mir schnell helfen!

Folgende Situation:

ich hab eine Navigation mit MouseOver Effekten zu bauen.
Jede meiner Grafiken hat dabei 3 Zustände:
normal - als Standardbild
over - wenn MouseOver
aktiv - nach MouseClick
nun muss es so sein, dass nach einem Click das aktiv-Bild bestehenbleibt, bis auf einen der anderen Links geklickt wird. Klappt auch vom Prinzip, nur hab ich momentan das Problem, das wenn ich erneut mit der Mouse über das Bild geh wieder der MouseOver-Zustand entsteht und bei MouseOut dann wieder in den Zustand normal gewechselt wird.

Wie ich das seh, brauch ich bevor der MouseOver ausgeführt wird eine Abfrage, welcher Status des Bildes gerade besteht und falls Status aktiv ist, darf kein MouseOver durchgeführt werden. Ich hab nur keine Ahnung, wie ich das mache. Ich hab gedacht, die aktiv-Bilder enden alle auf _akt.gif somit müsste ne Abfrage wie " if document.bild.src != "*_akt.gif" " oder so ähnlich gehen, nur weiss ich nicht wie so ein Script auszusehen hätte!

Bitte, wenn irgendwer weiss wies geht, ich brauche das dringends! Mein Chef macht schon heftigst Druck weil ich nicht weiterkomme!

Danke im voraus
Maik
 
Hallo!

Mach es mit indexOf:

Code:
function checkHover(obj)
{
    var isHovered = document.images[obj].src;
    if(isHovered.indexOf('_akt.gif') > 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}

Dise Funktion mußte jetzt noch in dein Skript einbauen und zwar auf die Art (Weiß jetz nicht genau wie dein Skript aussieht, hoffe du siehst den Zusammenhang):

Code:
function changepic(obj) //-> Deine changeFunktion
{
    if(checkHover(obj))
    {
         //Wechsle das Bild nicht
    }
    else
    {
         //Bild kann gewechselt werden, da _akt.gif im src nicht enthalten ist.
    }
}
 
Zurück
Oben