11
votes

Mettre en surbrillance une section d'une image dans JavaScript

i Exécution d'une petite page Web permettant aux utilisateurs de cliquer sur divers liens à l'aide de cartes d'image. Je voudrais mettre en évidence la section qu'un utilisateur clique sur pour donner des commentaires à l'utilisateur (ils peuvent cliquer sur plusieurs parties différentes rapidement).

Y a-t-il une façon d'inverser (ou de mettre en évidence) une petite section d'une image JavaScript?


1 commentaires

Il y a, mais s'il vous plaît soyez plus précis sur la taille de la région et comment vous déterminez la zone. C'est juste un carré autour d'où ils cliquent ou y a-t-il des zones particulières? Voulez-vous simplement dessiner une boîte où elle était la carte?


4 Réponses :


14
votes

Au lieu d'utiliser des cartes d'image, vous pouvez essayer cette méthode CSS:

Utilisez un transparent

code> en haut de chaque pièce "Image-Carte", puis utilisez ensuite le CSS : survol code> pseudo-classe pour gérer la surbrillance. P>

CSS: strong> p>

<div id="image">
    <a id="map-part" href="http://www.example.com/"></a>
</div>


2 commentaires

+1 pour l'option PURE CSS, même si ce n'est pas inversé l'image.


Merci, fait ça marche. Pour A-Links, j'ai utilisé "Affichage: bloc" et marge-haut et marge-gauche au lieu de haut et de gauche, de sorte que les coordonnées sont relatives.



7
votes

Jetez un coup d'œil à jQuery maphilight .
Je ne suis pas sûr que cela fait exactement ce dont vous avez besoin, mais vous pouvez y parvenir avec une modification mineure.


1 commentaires

Reportez-vous cet exemple d'utilisation de mailight: Stackoverflow.com/a/17614118/2313371



0
votes

Que diriez-vous de superposer un

sur la zone cliquée pour la mettre en surbrillance?

0 commentaires

0
votes

Il y a beaucoup de chemin,

d'une manière D, décomposez vos images en plusieurs pièces plus petites et en utilisant la table pour les combiner. Après cela, en utilisant JavaScript pour remplacer l'attribut th "src" pour l'effet de surbrillance.

sur une autre manière CSS, utilisez CSS pour couper l'alt. image sur le dessus de l'original et contrôle quelle zone doit être visible.

Il est préférable d'avoir une seule image pour tous plutôt que de nombreuses petites images pour accélérer et que l'utilisateur l'obtiendra sans délai par réseau.


0 commentaires