J'ai regardé le code source pour le plugin que vous avez mentionné et il devrait être assez facile de l'étendre afin qu'il fera ce que vous voulez faire, voici quelques conseils:
ligne 127-136 de jquery.maphighlight.js:
mouseover = function(e) {
var shape = shape_from_area(this);
add_shape_to(canvas, shape[0], shape[1], $.metadata ? $.extend({}, options, $(this).metadata()) : options);
};
if(options.alwaysOn) {
$(map).find('area[coords]').each(mouseover);
} else {
$(map).find('area[coords]').mouseover(mouseover).mouseout(function(e) { clear_canvas(canvas); });
}
C'est là toute la magie de l'événement se produit. La fonction mouseover est utilisée pour mettre en évidence une zone \
Dans votre code, vous pouvez essayer de trouver la zone coordonnées que vous souhaitez mettre en évidence en faisant quelque chose comme ceci:.
$(map).find('#id_of_the_area[coords]').each(moseover);
Où id_of_the_area
serait un ID vous avez donné la balise <area>
que vous voulez mettre en surbrillance.
Si vous mettez cela dans une fonction, vous pouvez l'appeler de partout où vous en avez besoin.
Edit:
Sur la base de votre question dans le commentaire, voici quelques conseils:
Les fonctions de mettre en avant/une zone pourrait pas surligner ressembler à quelque chose comme ceci:
function highlight(e) {
$(map).find('#id_of_the_area[coords]').each(moseover);
}
function unHighlight(e) {
clear_canvas($(canvas));
}
Dans cet exemple, id_of_map
et id_of_canvas
correspond à l'ID de la carte et des éléments de canevas.
La portée des fonctions mouseover
ou clear_canvas
et map
ou canvas
peut être un problème. Vous devez faire attention où placer ce code. Je suggère de lire un peu sur les plugins jquery avant d'essayer d'ajouter cette fonctionnalité.
En jquery, vous pouvez attacher des événements à n'importe quel élément html. Comme ceci:
$('#id_of_element').mouseover(highlight);
$('#id_of_element').mouseout(unHighlight);
id_of_element serait l'id de l'élément que vous souhaitez déclencher la surbrillance.
Espérons que cela aide!
Je suis en quelque sorte vous suivre - À quoi ressemblerait la fonction et comment serait-elle appelée dans le HTML? –
J'ai ajouté quelques pointeurs supplémentaires à mon message ci-dessus! – Franz