In pratica devi ricaricare la pagina passando un parametro che indichi il fattore di ingrandimento... ti faccio un piccolo esempio:
codice:
<head>
<script>
// (c) br1 - 2003
// immagine mappa
var mappa = "mappa.gif";
// larghezza originale della mappa
var largo = 100;
// coordinate delle aree della mappa (in gruppi left,top,right,bottom)
var aree = new Array(
0,0,50,50,
50,0,75,50,
75,0,100,50,
0,50,50,75,
0,75,50,100,
50,50,100,100
);
// link relativi alle aree definite sopra
var alink = new Array(
"uno.htm",
"due.htm",
"pippo.htm",
"tre.htm",
"pluto.htm",
"quattro.htm"
);
// leggo il fattore di ingrandimento
var zoom = parseFloat("0"+location.search.substr(1));
zoom = (zoom==0)?1:zoom;
function ImgInit() {
dd='[img]'+mappa+'[/img]';
document.write(dd);
}
function MapInit() {
for (kk=0;kk<(alink.length);kk++) {
zz=kk*4;
dd="<area shape=rect coords=\"";
dd+=Math.floor(aree[zz]*zoom)+","
dd+=Math.floor(aree[zz+1]*zoom)+","
dd+=Math.floor(aree[zz+2]*zoom)+","
dd+=Math.floor(aree[zz+3]*zoom)+","
dd+="\" href=\""+alink[kk]+"\">";
document.write(dd);
}
}
</script>
</head>
<body onload="document.fZoom.tZoom.value=zoom">
<script>ImgInit();</script>
<map name=br1>
<script>MapInit();</script>
</map>
<form name=fZoom>
<input type=text value=1 name=tZoom size=3>
<input type=button value="Aggiorna"
onclick="location.href='?'+this.form.tZoom.value;">
</form>
</body>
ciao