Hallo, Andreas,
ich habe eine Art Bildershow gemacht, wo unter dem Bild eine programierte Scroll-Leiste die Bilder lädt.
Jetzt möchte ich daß wenn das Bild XY geladen wird, Bsp ein bild mit einer Tür, die Tür anklickbar ist. Nur sollte diese Region auf den anderen Bildern nicht existieren.
Du kannst mittels des DOM nachträglich die Koordinaten des area-Elements der Image Map ändern. Somit kannst du den aktiven Bereich aktivieren und deaktivieren, Beispielsweise folgendermaßen:
<script type="text/javascript">
function raus () {
document.getElementById('murks').coords='0,0,0,0';
}
function rein () {
document.getElementById('murks').coords='50,50,200,150';
}
</script>
...
<p><img src="a.png" alt="..." usemap="#bild"></p>
...
<map name="bild">
<area id="murks" shape="rect" coords="50,50,200,150" href="murks.html" alt="Zurück zur Zimmerauswahl" title="Zurück zur Zimmerauswahl">
</map>
...
<p onclick="raus()">weg mit der imagemap</p>
<p onclick="rein()">hin mit der imagemap</p>
Die Aufrufe musst du natürlich auch zusätzlich für das Microsoft-DHTML-Modell (document.all) implementieren und vorher abfragen, ob die DOM-Funktionen zur Verfügung stehen, siehe http://selfhtml.teamone.de/dhtml/modelle/ für eine Cross-Browser-Lösung. Obiges Beispiel habe ich auf MSIE 6 und Mozilla 1.2 getestet.
Ich würde dir jedoch empfehlen, es mit statischen Hypertextseiten anstatt mit JavaScript und exotischen, unzuverlässigen DHTML-Zugriffen zu lösen.
Grüße,
Mathias
»(...) hier ist ja alles voll Gelegenheiten. Nur gibt es freilich Gelegenheiten, die gewissermaßen zu groß sind, um benützt zu werden; es gibt Dinge, die an nichts anderem als an sich selbst scheitern. Ja, das ist staunenswert.«
http://www.kafka.org/projekt/schloss/erst.html