11548 sujets

JavaScript, DOM et API Web HTML5

bonsoir ,

cette variable représente une photo ( son numero) , initialisée en début de page :

<script language="javascript">
function numimg(num)
{
var [b]imgselect[/b]=num;
alert('imgselec= ' +imgselect);
}
</script>


Elle est mmise a jour dans le onclick suivant il y a autant de lignes que de photos , ces photos sont affichées en float left ( css ) les une sous les autres :

<script>document.write("<IMG src=" + Images[0].src +" border='0' onclick=\"javascript:numimg(0)\"; > <br />" + tablegen[0][3] );</script>
<br /><script>document.write("<IMG src=" + Images[10].src +" border='0' onclick=\"javascript:numimg(10)\"; > <br />" + tablegen[10][3] );</script>


Je voudrais la récupérer dans le onmouseover suivant, pour la situer dans une grande photo d'un village ( 1800/1044) au clic sur l'emplacement désiré ( X et Y ) je memoriserai ces coordonées dans un fichier ( ou base) que je traiterai en php.

<script>document.write('onMouseOver=\"tooltip.show(\'<img src=\' '+ Images[imgselect].src +' /> <br/>' +tablegen[imgselect][3] +' \'\' , 0)\"; +' );</script>

Ma question , est-il possible de recuperer cette variable :

est-ce assez clair ???

Merci d'avance

bonsoir
Bonjour,

Une solution est de déclarer " var imgselect; " en haut de ta page, dans un balise script, dans le head par exemple, mais EN DEHORS d'une fonction.

Elle sera alors globale à tout tes scripts, et pourra être utilisée dans toutes tes fonctions.

Pense par contre à vérifier si ta variable est bien "settée" et l'existence de ton index dans le tableau, avant d'essayer de l'utiliser.
Bonjour à toutes et à tous,

d'une part, si j'ai bien compris, ce numéro (le 0 et le 10) correspond au rang de l'image qui est stocké dans le DOT.

et d'autre part, tu as une grande image (la photo d'un village) qui est découpé en secteur, et lorsque tu te trouves sur un secteur (le fameux 'onmouseover'), tu désires récupérer le numéro qui est associé à une image un peu plus détaillé (celle numéro de 0 à 10) et sous-jacente à la photo de ton village.

Donc ce qui te manque est le lien entre la position X, Y de ton curseur par secteur et le numéro de l'image.

Il y a autant de coordonnées X,Y qu'il y a d'images. Et de cela, si le 'onmouseover' se trouve sur la troisième coordonnée X,Y tu désires afficher la troisième image.

En t'aidant de l'utilitaire show_props, tu dois identifier dans la DOT la table des coordonnées X,Y. Et lorsque tu déplaces le curseur sur un secteur, le 'onmouseover' appelera une fonction qui récupérera les coordonnées de ton curseur, les comparera avec la table des coordonnées et de cela tu déduiras le rang de ton image.

Car le 'imgselect' sera déduit de l'indice du rang des coordonnées X,Y stockées dans la table.

Il me faudrait un cas concret et simplifié pour te donner la solution. Ici, j'énonce l'idée qui me vient à l'esprit en te lisant. Sans cela, je ne peux rien faire d'autre !

@+
Bonsoir,

Je vais développer mon projet en espérant etre assez concis pour ne pas tout embrouiller:

Au départ j'ai conçu un programme VB qui gérait un dossier contenant des photos, genre visionneuse , qui créait automatiquement des pages html style frames a gauche , a droite , diaporama etc .. donc avec des miniatures , au clic sur ces miniatures on affichait en grand la photo en popup, j'avais prévu dans ce programme quelques lignes de titre par photo , de commentaires etc. le tout parametrable ( couleurs fond , boutons titres etc ..).

J'ai eu l'idée de rajouter a mon programme cette gestion de Map , en partant d'une vielle photo aerienne ( elle date du début des années 50 !) de mon ancien village , dans ce programme vb et dans cette option de Map , j'affiche la carte (1800/1044) et les miniatures , je choisi une miniature et je la place dans la carte en mémorisant les coordonnées dans un fichier (Map.txt), a la fin , je génère le tout , carte , avec pour chaque photo son emplacement ( area shape ... ) , pages html etc.

On lance ce fichier pagemap.php et si on passe sur la carte a l'endroit ou il y a une photo (area shape et coords prises dans Map.txt) , elle s'affiche en miniature ( onmouseover ) si on clic dessus on a un popup avec les titres et commentaires, tout ça fonctionne à merveille.

Et puis je me suis trouvé avec des photos que je ne savais pas positionner , c'est mon projet actuel , en fait, maintenant en plus de la map j'affiche ces photos en miniature et au clic je vais les placer dans la carte mais cette fois ci le onmouseover est sur toute la carte ( <area shape="rect" coords="0,0,1800,1044 ") , mon idée est de pouvoir positionner cette miniature a l'endroit souhaité et mémoriser ces coordonnées dans un fichier en PHP , actuellement j'en suis a la phase ou j'essaie de placer la miniature dans la page , c'est l'objet de mon post .

Je vais donc essayer de déclarer ma variable ( num de la photo ) en variable générale , et puis j'avance petit a petit , donc peut etre a un autre renseignement.

Merci de m'avoir lu et excuses pour mon bavardage.

A bientôt
Bonsoir a tous ,

Je reprend mon projet , après quelques modifs en amont , merci ,N3Ko , la variable imgselect se met bien a jour, elle est bien déclarée en haut de page dans le "head".

Par contre j'ai encore besoin de vos services, je voudrai maintenant la placer dans une ligne dans un 'onmouseover' comme ci-dessous , je galère pour trouver la bonne formule !

<map name="Plan">
<area shape="rect" coords="0,0,1800,1044 "

onMouseOver="tooltip.show('<img src='+ Images[imgselect].src +' /> <br/>' +tablegen[imgselect][3] +'' , 0);" onmouseout="tooltip.hide();" >

Je ne peux malheureusement pas donner un lien pour verif , ce n'est pas encore en ligne .

Merci encore

A+

Doyen