L'Image de la Carte avec l'Image de popup sur survolez hotspot
Je fais construire un calendrier des événements sur certains jours. Le calendrier est un jpg que j'ai créé une image de la carte pour. Lorsque vous passez la souris sur un hotspot ou un "événement" sur le calendrier, je veux une image de pointer à côté du pointeur de la souris qui permettra d'avoir des informations sur l'événement, puis disparaissent lorsque la souris passe hors de la zone d'accès. J'ai six points chauds, et une fonction javascript pour chacun d'eux. Les fonctions de remplacer l'image popup avec la bonne image. Ci-dessous est un exemple de l'un des domaines avec une fonction (les autres sont identiques w/image différente des noms et coordonnées)
J'avais les images de l'événement popping up ci-dessous le calendrier sur le vol stationnaire, mais la page a refusé de déplacer la position de l'image à l'actuel emplacement de la souris. Comment puis-je faire de l'image popup déménager? Ce que je fais mal? ou dois-je utiliser une autre méthode?
JS:
function pop(e) { //function called by first hotspot
Image.src = "../img/Bubble - Aloha.png" //event image
document.popup1.src = Image.src;
var thing = document.getElementById("popup1");
$("#popup1").toggle();
thing.style.left = e.screenX + 'px';
thing.style.top = e.screenY + 'px';
return true;
}
CARTE:
<map id="feb1050" name="feb1050">
<area shape="rect" alt="" coords="464,170,588,263" HREF="../img/feb1050.jpg" onMouseOver="pop(event);" onMouseOut="pop(event);"/>
...</map>
HTML:
<ul><li>
<img src="../img/feb1050.jpg" width="1050" alt="calendar" USEMAP="#feb1050">
</li>
<li>
<div id="popup"><img NAME="popup1" id="popup1" src="../img/Bubble - Aloha.png" width="400" alt="calendar" style="display:none;top:-2000;left:-1000;>
</div><br />Click Here To RSVP!
</li>
</ul>
Vous devez vous connecter pour publier un commentaire.
Peut-être plutôt que de la manipulation de la position de l'image elle-même, vous pouvez positionner le bloc à l'intérieur de la div. Pour le HTML:
Avec un peu de CSS de la div:
Et puis le JS:
Remarque que je voudrais aussi utiliser clientX et clientY plutôt que screenX et screenY:
Quelle est la différence entre screenX/Y, clientX/Y et pageX/Y?
Exemple de travail sur JSFiddle
Une chose que j'ai fait (dans une situation presque exactement comme ceci: Un client voulait des prix des boîtes à apparaître lors du survol d'un prix à la clé) est presque purement CSS et HTML. Vous pouvez générer le popup zones à l'intérieur
<a>
balises, qui sont ensuite placés à l'intérieur de certaines<span>
(ou positionnement absolu<div>
) placé à côté du hover zone. Vous assurez-vous que ceux span/div éléments ne sont définies que pour lesa:hover
sélecteur, et vous les mettez àdisplay:none;
sur le reste de laa:x
sélecteurs, de sorte que le span/div zone s'affiche uniquement lorsque vous survolez l'ancre, et disparaît lorsque vous n'êtes pas.