jQuery hover : la décoloration caché dans un div, tandis que le fondu “par défaut” un
J'ai deux divs (dont l'un est caché par du CSS), que je suis en fondu en alternance à l'intérieur d'un espace commun, sur le vol stationnaire.
C'est le balisage :
<div id="wrap">
<div class="image">
<img src="http://domain.com/images/image.png">
</div>
<div class="text hide">
<p>Text text text</p>
</div>
</div>
Et j'ai été l'application de cette jQuery code de la fermeture de l'image et à la décoloration dans le texte, sur le vol stationnaire :
<script type="text/javascript">
$(function(){
$('#wrap').hover(
function(){
$('#wrap .image').fadeOut(100, function(){
$('#wrap .text').fadeIn(100);
});
},
function(){
$('#wrap .text').fadeOut(100, function(){
$('#wrap .image').fadeIn(100);
});
}
);
});
</script>
Mais le problème est que le texte div devient collante et ne se fanera pas hors - toujours que le mouvement de la souris est trop rapide.
Savez-vous d'où cela peut-il être la solution ?
J'ai mis en ligne un test : http://paragraphe.org/stickytext/test.html
Merci pour tout conseil
Vous devez vous connecter pour publier un commentaire.
Si votre gestionnaire ne dispose pas de la largeur ET de la hauteur sur elle, vous pouvez obtenir des résultats étranges comme il se rétracte une fois l'image de l'élément est supprimé. À voir, ajouter une bordure fixe et hauteur /largeur autour de l'emballage. Ou au moins utiliser la même hauteur pour l'image et le texte divs.
ÉDITÉ
Retiré un exemple de code qui n'était pas applicable à ce que vous essayez d'accomplir.
essayez d'utiliser .stop() sur votre hover-fonction, ce qui permettra d'éviter la course la condition où vous rapidement passez votre souris sur les divs
Essayez d'utiliser la file d'attente:
Le jQuery file d'attente est par élément, donc ce que j'essaie de faire ici est de lancer les effets de texte, de l'image de la file d'attente.
Et permettez-moi de vous donner une autre suggestion. Si votre intention est d'appliquer cet effet à une multitude d'images utilisation de la classe au lieu de l'id.
De cette façon, vous ne devez appeler cette fois.
Votre code ne s'efface pas le texte de la div. Les deux fonctions de l'passez événement aura fondu de l'image et fondu dans le texte.
Vous avez le même code dans les deux
hover
fonctions. Ne devriez-vous pas remplacer les sélecteurs dans le second cas?merci pour tous les conseils :
J'ai essayé d'utiliser le mouseenter /mouseleave, car ils semblent regarder dans le détail pour les divs, ils sont confrontés (comme on le voit ici), mais rien n'a changé. Alors, voyant que tous les habituelles jQuery instructions n'étaient pas répondre j'ai vérifié, comme l'a suggéré mon CSS.
Et il y avait le truc.
Ce que j'avais :
été la mise en place d'un immense espace vide que le navigateur n'interprète comme "non de gauche" encore de par le curseur (j'ai remarqué que le survol de l'espace vide est ce qui rend le texte pour répondre correctement).
J'ai donc changé pour :
Qui permet à l' "p" tag seul, et les positions de la deuxième bloc dans le div, mais sans trace de l'espace vide derrière elle.
Ensuite, concernant l'extrait de code, il fonctionnera aussi bien avec mouseenter /moseleave et passez :
C'est la version améliorée http://paragraphe.org/nice/test.html