Seite 1 von 1

Javascript Frage

Verfasst: 08.06.2005 19:48
von Neo_
Hy,
Also ich hab in meinem Script, frames mittels PHP simuliert und Menüs mit Untermenüs erstellt. Soweit ist auch alles klar. Nur steh ich jetzt vor dem Problem, das ich den Bildertausch mit Javascript nicht hinbekomme :/
Ich Poste auch gleich mal den Code, ....

Code: Alles auswählen

<script language="JavaScript">
<!--
function doHover(b,i)
{
 f = document[b].src;
 f = f.substr(0,f.length-5);
 f+=i+'.png';
 document[b].src = f;
}
//-->
</script>

<?php

     // Hier steht der ganze PHP Codeteil

?>

<a href="index.php" onMouseOver="doHover('home','b')" onMouseOut="doHover('home','a')" onMouseDown="doHover('home','c')"><img src="gif/home_a.png" name="home" alt="Home" border="0"></a><br>

<a href="index.php?section=wir_ueber_uns" onMouseOver="doHover('wir','b')" onMouseOut="doHover('wir','a')" onMouseDown="doHover('wir','c')" onmouseup="doHover('wir','a')"><img src="gif/wir_a.png" name="wir" alt="Wir &uuml;ber uns" border="0"></a><br>

<a href="index.php?section=service" onMouseOver="doHover('service','b')" onMouseOut="doHover('service','a')" onMouseDown="doHover('service','c')" onmouseup="doHover('service','a')"><img src="gif/service_a.png" name="service" alt="Service" border="0"></a><br>

<a href="index.php?section=news" onMouseOver="doHover('news','b')" onMouseOut="doHover('news','a')" onMouseDown="doHover('news','c')" onmouseup="doHover('news','a')"><img src="gif/news_a.png" name="news" alt="News" border="0"></a><br>

<a href="index.php?section=kontakt" onMouseOver="doHover('kontakt','b')" onMouseOut="doHover('kontakt','a')" onMouseDown="doHover('kontakt','c')" onmouseup="doHover('kontakt','a')"><img src="gif/kontakt_a.png" name="kontakt" alt="Kontakt" border="0"></a><br>

<a href="index.php?section=sitemap" onMouseOver="doHover('sitemap','b')" onMouseOut="doHover('sitemap','a')" onMouseDown="doHover('sitemap','c')" onmouseup="doHover('sitemap','a')"><img src="gif/sitemap_a.png" name="sitemap" alt="Sitemap" border="0"></a><br>

<a href="index.php?section=agb" onMouseOver="doHover('agb','b')" onMouseOut="doHover('agb','a')" onMouseDown="doHover('agb','c')" onmouseup="doHover('agb','a')"><img src="gif/agb_a.png" name="agb" alt="AGB" border="0"></a><br>
Nun zum Ablauf: Bei Aufruf der Seite werden alle links mit BildXY_a.png dargestellt. Bewegt ein User den Courser über nen Link, dann wird der link mit BildXY_b.png dargestellt. Und wenn ein User einen Link anklickt, wird der Link mit BildXY_c.png symbolisiert. Das einzige Problem was ich hierbei habe ist, das nach klicken eines linkes zwar das BildXY_c.png aufgerufen wird, aber nach loslassen der Maustaste, zeigt er wieder BildXY_a.png an. Wie oder was muss ich verändern oder hinzufügen, das beim klicken eines linkes das BildXY_c.png bleibt? :roll:

Verfasst: 08.06.2005 20:26
von pokepika
auf die Bilder greifst du mittels:

window.document.images.NAME.src = URL;

also muss das bei deiner funktion

Code: Alles auswählen

<script language="JavaScript">
<!--
function doHover(b,i)
{
f = window.document.images[b].src;
f = f.substr(0,f.length-5);
f+=i+'.png';
window.document.images[b].src = f;
}
//-->
</script>

Verfasst: 08.06.2005 20:33
von Neo_
pokepika hat geschrieben:auf die Bilder greifst du mittels:

window.document.images.NAME.src = URL;
Was genau soll ich mit dem machen? Hab irgendwie keinen Plan :-?

Verfasst: 08.06.2005 20:36
von pokepika
ich hab dir da doch das verbesserte script hingeschrieben.. brauchst du doch nur ersetzen :roll:

Verfasst: 08.06.2005 20:48
von Neo_
Aso. Ja das hab ich, jedoch hab ich so den selben effekt wie mit meinem.

Verfasst: 08.06.2005 21:23
von pokepika
achso ^^ hab ich gar nicht gesehen, sorry ^^

also.

pack diese events in den a tag.

Code: Alles auswählen

onMouseOver="if(this.clicked!=true) doHover('home','b');" onMouseOut="if(this.clicked!=true) doHover('home','a');" onMouseDown="if(this.clicked!=true) doHover('home','c');" onMouseUp="this.clicked=true;"
so gehts :)

Verfasst: 08.06.2005 21:41
von Neo_
du meinst statt dem:

Code: Alles auswählen

onMouseOver="doHover('home','b')" onMouseOut="doHover('home','a')" onMouseDown="doHover('home','c')"
Das hier:

Code: Alles auswählen

onMouseOver="if(this.clicked!=true) doHover('home','b');" onMouseOut="if(this.clicked!=true) doHover('home','a');" onMouseDown="if(this.clicked!=true) doHover('home','c');" onMouseUp="this.clicked=true;"
Bleibt aber leider immer noch unverändert :-?

*************** EDIT ***************

Und was ist, wenn ich im im Javascript Codeteil mit if-Anweisungen überprüfen lassen ob der Button BildXY_c.png geklickt ist und wenn ja dann soll er geklickt bleiben. Und mir nem Klick auf nen anderen links, wird dieser resetten.
Ist das überhaupt möglich? Wenn ja, kann mir jemand dabei helfen? Kenn mich mit Javascript leider nicht so gut aus :-?

Verfasst: 09.06.2005 07:04
von pokepika
pass auf! Das script was du ganz oben hast, hab ich so geändert, dass die onMouse Teile so aussehen, wie ichs geschrieben hab.
Das bedeutet aber auch, dass alle anderen im a Tag rausmüssen.
Also sieht der Home-Link dann so aus:

Code: Alles auswählen

<a href="index.php" onMouseOver="if(this.clicked!=true) doHover('home','b');" onMouseOut="if(this.clicked!=true) doHover('home','a');" onMouseDown="if(this.clicked!=true) doHover('home','c');" onMouseUp="this.clicked=true;"><img src="gif/home_a.png" name="home" alt="Home" border="0"></a><br>
und das geht.

Verfasst: 09.06.2005 14:07
von Neo_
Hab ich ja schon probiert. Aber es bleibt immer noch der selbe effekt. Wie schon mal gepostet, ich denke das er mit Anweisungen sicher "merken" soll was nun geklickt worden ist ...uw...
Aber da ich wenig bis kaum Ahnung von Javascrpt habe, weiss ich auch keinen Lösungsweg :-?