Situatie
op mijn webpagina staan onder andere:
- 5 tumbnails en
- 1 grote foto. Hieraan heb ik de naam 'lf' (lead-feature) toegekend.
Wanneer iemand op 1 van de 5 tumbnails klikt, wordt er op de plaats van de image genaamd 'lf' een grote afbeelding van dat product gezet. Rechtsonderaan deze grote foto's staat 'klik voor meer info!'. Als iemand op dat stuk van de foto klikt, moet hij worden doorverwezen naar een bepaalde pagina. Dus als volgt:
stap 1: gebruiker klikt op tumbnail 1:
stap 2: javascript gaat lopen:
stap 3: uiteindelijk krijgt deze img-tag als src de waarde "product1.gif". Default laat de image genaamd 'lf' een plaatje genaamd 'welcome.gif' zien:
Nu mijn vraag
Zoals gezegd maak ik gebruik van een imagemap genaamd 'lf'. Deze ziet er als volgt uit en staat helemaal onder aan mijn pagina gedefinieerd:
Je voelt hem al aankomen: als iemand op tumbnail 2 klikt (onclick="show('lf', 'lf2')"), en 'lf' (de grote foto) een vergroting van product 2 laat zien, wil ik graag dat de map genaamd 'lf' ook verwijst naar de goede pagina: products.asp?id=2.
stap 4: zou dus moeten zijn: imagemap wordt client-side, dynamisch aangepast aan het plaatje waar op is geklikt.
Dus mijn vraag - hoe kan ik er met een tweede onclick functie voor zorgen dat de imagemap naar de juiste pagina verwijst?
getrachte oplossing
ik had zelf het volgende geschreven:
de tumbnail image tag zou er dan als volgt uitzien:
Dit werkt alleen niet correct - zodra ik op de tumbnail klik, loopt m'n hele pagina 'vast': alle html wordt vervangen door de regel '<map><area shape='rect' coords='261,204,290,220' href='products.asp?id=2"></map>'. Je ziet dat er id=2 staat, dus eea wordt wel doorgegeven...
Wie kan mij helpen dit script werkend te krijgen?
Ik hoop dat ik duidelijk ben in mijn uitleg
op mijn webpagina staan onder andere:
- 5 tumbnails en
- 1 grote foto. Hieraan heb ik de naam 'lf' (lead-feature) toegekend.
Wanneer iemand op 1 van de 5 tumbnails klikt, wordt er op de plaats van de image genaamd 'lf' een grote afbeelding van dat product gezet. Rechtsonderaan deze grote foto's staat 'klik voor meer info!'. Als iemand op dat stuk van de foto klikt, moet hij worden doorverwezen naar een bepaalde pagina. Dus als volgt:
stap 1: gebruiker klikt op tumbnail 1:
HTML:
1
2
3
| <a href="#" onclick="show('lf', 'lf1')"> [img]"product1.gif"[/img] </a> |
stap 2: javascript gaat lopen:
HTML:
1
2
3
| function show(targetName, targetImage){
document.images[targetName].src = eval(targetImage + ".src");
} |
stap 3: uiteindelijk krijgt deze img-tag als src de waarde "product1.gif". Default laat de image genaamd 'lf' een plaatje genaamd 'welcome.gif' zien:
HTML:
1
| [img]"welcome.gif"[/img] |
Nu mijn vraag
Zoals gezegd maak ik gebruik van een imagemap genaamd 'lf'. Deze ziet er als volgt uit en staat helemaal onder aan mijn pagina gedefinieerd:
HTML:
1
2
3
| <map name="lf"> <area shape="rect" coords="261,204,584,220" href="products.asp?id=1"> </map> |
Je voelt hem al aankomen: als iemand op tumbnail 2 klikt (onclick="show('lf', 'lf2')"), en 'lf' (de grote foto) een vergroting van product 2 laat zien, wil ik graag dat de map genaamd 'lf' ook verwijst naar de goede pagina: products.asp?id=2.
stap 4: zou dus moeten zijn: imagemap wordt client-side, dynamisch aangepast aan het plaatje waar op is geklikt.
Dus mijn vraag - hoe kan ik er met een tweede onclick functie voor zorgen dat de imagemap naar de juiste pagina verwijst?
getrachte oplossing
ik had zelf het volgende geschreven:
HTML:
1
2
3
| function changeImageMap(id){
document.write("<map><area shape='rect' coords='261,204,290,220' href='products.asp?id='"+id+"></map>")
} |
de tumbnail image tag zou er dan als volgt uitzien:
HTML:
1
2
3
| <a href="#" onclick="show('lf', 'lf1'); changeImageMap('2')"> [img]"product2.gif"[/img] </a> |
Dit werkt alleen niet correct - zodra ik op de tumbnail klik, loopt m'n hele pagina 'vast': alle html wordt vervangen door de regel '<map><area shape='rect' coords='261,204,290,220' href='products.asp?id=2"></map>'. Je ziet dat er id=2 staat, dus eea wordt wel doorgegeven...
Wie kan mij helpen dit script werkend te krijgen?
Ik hoop dat ik duidelijk ben in mijn uitleg
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."