Archivlink: javarea.de Forum > JavaScript > Grafikwechsel bei onClick funktioniert nicht
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Grafikwechsel bei onClick funktioniert nicht

Pages: [1]

geschrieben von Abraxas am 10.01.2006 - 11:05
Hallo,


ich sehe vor lauter Wald die Bäume nicht mehr.

Folgendes Szenario.

Die Homeage ist in drei verschiedene Frames unterteilt.
Die Navigation findet in einem dieser Frames(links) statt und soll bei Aufruf zwei Frames gleichzeitig (beide auf der rechten Seite) ändern, was ja alleine gesehen super funktioniert.

Ebenso funktioniert der Grafikaustausch, wenn man mit der Maus über einen der Buttons fährt.


Aber:

Bei Klick auf den jeweiligen Button, soll die Grafik angewählt bleiben, die man auch beim MouseOver bekommt (damit dert Nutzer weiß, welcher Punkt grade aktiv ist), bis ein anderer Button innerhalb der Navigation geklickt wird (während der Austausch beim MouseOver mit den anderen Buttons noch funktionieren soll).

Irgendwie bekomme ich das nicht hin.

gibt es eine Möglichkeit das trotz Verwendung eines Framesets und "Zweiframes" hinzubekommen?


Grüße Abraxas


hier die Quellcodes:
------------------------------------------------------------------------------

<script src="navi.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
function ZweiFrames(URI1,F1,URI2,F2) {
Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame1.location.href = URI1;
Frame2.location.href = URI2;
}

//-->
</script>
</head>

<body>

<!--Navigation-->
<div id="Layer9" style="position: absolute; width: 117; height: 19; z-index: 10; left: 10; top: 24">
<a href="javascript:ZweiFrames('kopfstart.htm','bilder','start.htm','inhalt')" onMouseOver="an(0)" onMouseOut="aus(0)"><img src="../bilder/home.gif" border="0"></a></div>

<div id="Layer9" style="position: absolute; width: 117; height: 19; z-index: 10; left: 10; top: 52">
<a href="javascript:ZweiFrames('kopfnews.htm','bilder','news.htm','inhalt')" onMouseOver="an(1)" onMouseOut="aus(1)">
<img src="../bilder/news.gif" border="0" ></a></div>

<div id="Layer9" style="position: absolute; width: 117; height: 20; z-index: 10; left: 10; top: 77">
<a href="javascript:ZweiFrames('kopfbilder.htm','bilder','fotos.htm','inhalt')" onMouseOver="an(2)" onMouseOut="aus(2)"><img src="../bilder/bilder.gif" border="0"></a></div>

</body>




Das dazugehörige, verlinkte Script sieht so aus:



{
var bildan = new Array();
var bildaus = new Array();
var bildclick = new Array();


bildan[0] = new Image()
bildan[0].src = "../bilder/home2.gif"
bildaus[0] = new Image()
bildaus[0].src = "../bilder/home.gif"
bildclick[0] = new Image()
bildclick[0].src = "../bilder/home2.gif"


bildan[1] = new Image()
bildan[1].src = "../bilder/news2.gif"
bildaus[1] = new Image()
bildaus[1].src = "../bilder/news.gif"
bildclick[1] = new Image()
bildclick[1].src = "../bilder/news2.gif"

bildan[2] = new Image()
bildan[2].src = "../bilder/bilder2.gif"
bildaus[2] = new Image()
bildaus[2].src = "../bilder/bilder.gif"
bildclick[2] = new Image()
bildclick[2].src = "../bilder/bilder2.gif"

}
var geklickt = null

function an(l)
{
if (geklickt != l)
document.images[l].src = bildan[l].src
}

function aus(l)
{
if (geklickt != l)
document.images[l].src = bildaus[l].src
}

function click(l, a, b)
{
if (geklickt != l)
document.images[l].src = bildclick[l].src
document.images[a].src = bildaus[a].src
document.images[b].src = bildaus[b].src
geklickt = l
}

----------------------------------------------------------------------

geschrieben von Hawk am 11.01.2006 - 11:49
Hallo,

du rufst beim licken auf den Button nur die Function für die beiden Frames auf und nicht die um die Grafik zu wechseln.

geschrieben von weisnix am 12.01.2006 - 22:20
Dein Script sollte dann so aussehen wie in dem Beispiel:

geschrieben von Abraxas am 13.01.2006 - 12:45
Zitat
 Original geschrieben von weisnix am 12.01.2006 - 22:20

Dein Script sollte dann so aussehen wie in dem Beispiel:



Vielen Dank für die Hilfe,

nun funktioniert es sogar.



Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.