Martin: Variablenwerte definieren

Beitrag lesen

Hi Jenny,

so ganz hab ich's noch net - liegt vieleicht auch an mir...
Well, ich versuche, zu antworten.

<ORIGINAL>
1. Ich habe eine Seite mit verschiedenen Frames, in denen Gif-Grafiken als Links vorkommen. Diese will ich dynamisch verändern. D.h. nachdem eine Grafik angeklickt wurde, soll die nächste erscheinen, die wiederum einen neuen Link darstellt. Im Frameset will ich dann abfragen, welche Grafik angeklickt wurde, um die entsprechenden Link-Zielseite aufzurufen.

2. Wird in den Frames eine Grafik angeklickt, wird durch

'onklick="parent.frames.irgendwas(framenummer)"'
die JS-Funktion im Frameset aktiv. Innerhalb dieser will ich die "switch-function" benutzen, um die entsprechenden Fälle zu überprüfen.

Zu 1: Es klingt so, als ob Du ein Rollover machen willst, allerdings hierbei auch noch gleich den Link ändern möchtest. Da würde ich einfachsten zwei DIVs, die nach dem Klick versteckt bzw. angezeigt werden.

Folgendes habe ich gerade mal ausprobiert (IP5.5, NN4.73) und zeigt eine mögliche Lösung (die Images musst Du natürlich einsetzen):

<html>
<head>
<title>Untitled</title>
</head>
<script language="JavaScript">
<!--
function SwitchLink(toHide,toShow)
{
this.css1 = (document.layers) ? eval('document.layers["' + toHide+ '"]'):eval('document.all.'+ toHide+'.style');
this.css2 = (document.layers) ? eval('document.layers["' + toShow+ '"]'):eval('document.all.'+ toShow+'.style');

this.css1.visibility = 'hidden';
this.css2.visibility = 'visible';
}

function ChangeFrame(F1,Url1)
{
parent.frames[F1].location.href=Url1;
}
//-->
</script>

<body>

<div id="link1" style="position:absolute;top:20px;left:20px;visibility:visible;z-index:1;">
<A HREF="http://www.web.de" onclick="javascript:SwitchLink('link1','link2')" target="_blank">Grafik1=Link1</A></div>
<div id="link2" style="position:absolute;top:20px;left:20px;visibility:hidden;z-index:1;">
<A HREF="http://www.lycos.de" onclick="javascript:SwitchLink('link2','link1')" target="_blank">Grafik2=Link2</A></div>
</body>
</html>

das "target"-Attribut hatte ich nur eingefügt, weil ich kein Frameset definiert habe (muss ja sehen, ob die links wechseln).

Zu 2:
Eine Abfrage durch eine Funktion in der Frameset-Datei (oder wo auch immer), kannst Du dir sparen.

Statt <A HREF="http://www.lycos.de" onclick...> schreibe <A HREF="javascript:ChangeFrame(Framenummer,'xxxx.html')" onclick...>.

Wenn Du beide Funktionen noch in eine externe .js-Datei auslagerst, kannst Du von aallen Frames zugreifen.

Ich hoffe a) ich habe Dich verstanden, und b) dass ich Dir helfen konnte.

Grüße, Martin