2016-11-25 5 views
1

J'ai un problème lorsque j'essaie d'obtenir un effet de survol sur une image mappée. J'ai une image avec des zones cartographiées et sur chacun d'eux, je veux montrer une image différente en vol stationnaire.Afficher l'image masquée au survol de la souris

Vous pouvez voir mon travail jusqu'à présent ici:

http://mantasmilka.com/map/pries-smurta.html

Le problème est quand je passe la souris sur la zone, il montre l'image, mais quand je déplace le curseur (ne pas quitter la zone), il commence vacillante . Il faut un espace pixel par pixel.

J'ai essayé de travailler avec Javascript et solutions jQuery:

Javascript:

mouseenter="document.getElementById('Vilnius').style.display = 'block';" mouseleave="document.getElementById('Vilnius').style.display = 'none';" 

jQuery:

$('.hide').hide(); 
setTimeout(function(){ 
    $("#area-kaunas").mouseenter(function(){ 
     $('#Kaunas').show(); 
    }); 
    $("#area-kaunas").mouseleave(function(){ 
     $('#Kaunas').hide(); 
    }); 
}, 500); 

Répondre

0

Il y a une propriété appelée css « pointer-événement » qui donne la valeur « none » aux balises img qui se chevauchent dans l'image cartographiée et fonctionne comme vous le souhaitez. Ceci est la documentation https://developer.mozilla.org/en/docs/Web/CSS/pointer-events

Le problème sera toujours la compatibilité des navigateurs.

+0

C'était la solution! Merci, j'ai oublié l'image sur la zone. Je vous remercie! – milka

1

Pourquoi ne pas utiliser hover() l'intérieur de jQuery? Je ne sais pas non plus pourquoi vous liez les événements après un délai de 500 millisecondes?

$('.hide').hide(); 

$("#area-kaunas").hover(function() { 
    $('#Kaunas').show(); 
}, function() { 
    $('#Kaunas').hide(); 
}); 
+0

J'essayais de retarder, parce que je pensais que peut-être il fait planer et planer dans chaque pixel. Mais le soluton avec les événements ponctuels ne fait pas l'affaire. Je n'ai pas pensé à des images chevauchant ma zone de vol stationnaire principale et causant ainsi le scintillement. Votre code hover est aussi une meilleure solution. – milka