Je sais que cette question reçoit une réponse plusieurs fois, mais j'ai un scénario différent.Comment trouver la position de la souris sur HTML DOM
J'ai une exigence où sur mousehover j'ai besoin de changer la source de l'image, et sur le mouseout j'ai besoin d'afficher l'image originale.
L'image que je souhaite modifier lors du survol de la souris provient de la requête GET. S'il vous plaît trouver le code pseudo ci-dessous:
document.getElementsByTagName('img').addEventListener('mouseover',function(event){
var source = event.currentTarget.src;
fetch(url).then(function(data) {
source.setAttribute('src',data.image);
})
})
Maintenant, j'ai plusieurs balises d'image sur ma page, et je veux changer la source de la souris.
Le problème que je suis confronté est, sur la souris, je ne reçois pas de réponse immédiatement que je fais un appel ajax. Donc, si je déplace la souris très rapidement d'une image à l'autre, la réponse de l'image précédente s'affiche sur l'image actuelle. Faites-moi savoir la solution le cas échéant, je sais que c'est un peu compliqué à comprendre, mais j'ai vraiment besoin d'aide à ce sujet.
Je pense si je peux ajouter if
vérifier (l'image sur laquelle planer l'appel est fait et la position actuelle de la souris est la même) avant de changer la source de l'image.
D'où vient la variable 'url'? Et pourquoi avez-vous besoin d'aller chercher? Je pense que le simple remplacement de l'attribut 'src' de l'élément' img' devrait faire l'affaire. – Bartheleway
L'URL est un service qui renvoie une image. Je l'ai défini comme faisant partie de config. Oui, je remplace uniquement l'attribut img src, mais en raison de l'appel ajax, cela prend du temps. La source d'image précédente est donc restituée sur la source d'image actuelle. –
"URL est un service qui renvoie une image". Êtes-vous sûr ? Je suppose que c'est l'URL d'une image. Pouvez-vous confirmer ? – Bartheleway