Si vous ne pouvez pas modifier le balisage du tout, vous pouvez lui donner un bel effet de fondu, et tirer profit du fait un fondu n'est pas instantané, quelque chose comme cela gérer tous les .trigger
/.info
paire:
$(".trigger, .info").hover(function() {
$(this).next().andSelf().filter(".info").stop().animate({opacity: 1 });
}, function() {
$(this).next().andSelf().filter(".info").stop().animate({opacity: 0 });
});
You can try a demo here, vous pourriez briser cette info une fonction pour .trigger
et un pour .info
, je juste garder un peu plus laconique. Les deux version fonction regarderait like this:
$(".trigger, .info").hover(function() {
$(this).next().stop().animate({opacity: 1 });
}, function() {
$(this).next().stop().animate({opacity: 0 });
});
$(".info").hover(function() {
$(this).stop().animate({opacity: 1 });
}, function() {
$(this).stop().animate({opacity: 0 });
});
Ce que cela fait est en mouseenter
il apparaît en fondu, sur mouseleave
il disparaît (via .animate()
) ... mais en déplaçant la souris de l'un à l'autre laissera le fondu se produire pour 1 trame avant de mettre un .stop()
au fondu de sortie et de l'éteindre en retour. Pour l'utilisateur, ils ne voient pas que quelque chose s'est passé, lorsque la souris quitte les deux, le fondu est autorisé à continuer.
Lorsque vous dites que vous ne pouvez pas les envelopper, voulez-vous dire côté serveur ou côté client? est de les emballer via jquery une option? –