Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: image map zoomabili

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    10

    image map

    salve io vorrei fare uno zoom su delle immagini e mantenere le proporzioni sulle rispettive imagemap coma posso fare ? per ora ho creato il codice che mi cambia l'immagine e il nome della mappa ma come faccio a crearla automaticamente? c'è un oggetto in jscript che le gestisce? se no posso creare una funzione che scrive nell'html il testo delle varie imagemap? grazie.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    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
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    10

    grazie

    Grazie 1000

    M'hai dato proprio una mano.

    Ancora Grazie
    Andrea

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    10

    domanda 2

    io vorrei fare 2 pusanti zoom + e zoom - quindi dovrei utilizzare una variabile come faccio a utilizzarla all'interno del form per inviarla? Scusa la mia ignoranza ma non sono molto pratico di script.

    Grazie

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Una possibilita':

    <input type=button value="+"
    onclick="location.href='?'+(this.form.tZoom.value+ 1);">
    <input type=button value="-"
    onclick="if(this.form.tZoom.value>1)location.href= '?'+(this.form.tZoom.value-1);">

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    10

    grazie

    Grazie Ancora

    Ciao.

    Andrea

  7. #7
    so che la discussione è vecchia...
    ho provato ad applicare la soluzione per me (senza cambiare i link e le aree, solo per vedere se funzionava lo zoom) e:
    1) non si adatta al browser
    2) non funzionano i tasti zoom

    ecco la sede della prova http://macrocosmo.eu/img.html

    Grazie per l'aiuto...

  8. #8
    risolto il problema dei tasti zoom...
    si potrebbe zoomare in negativo quindi piu piccolo dell'originale?

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Certo... basta impostare valori inferiori a uno: 0.5 0.25 eccetera
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    ah, ok grazie mille!!!
    e per quanto riguarda l'adattamento alla finestra niente vero?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.