hover()
prend deux arguments: un rappel quand il est activé et un autre lorsque son désactivé si:
$("a.moreDetails").hover(function() {
$(this).next("div.details").stop().show("fast");
}, function() {
$(this).next("div.details").stop().show("slow");
});
Vous remarquerez que je vous appelle stop()
. C'est une bonne habitude à prendre lorsque vous utilisez des animations, sinon vous pouvez obtenir des artefacts visuels involontaires à partir d'animations en file d'attente.
Édition: Apparaître à côté de l'élément présente certaines difficultés. Vous pouvez modifier le CSS:
div.details { display: inline; }
et il apparaîtra à côté du lien mais les effets jQuery pas vraiment correctement, car ils ont tendance à mettre les choses à display: block
. Si vous ne voulez pas ou besoin de l'effet que vous pouvez simplement utiliser une classe:
div.details { display: inline; }
div.hidden { display: none; }
puis:
$("a.moreDetails").hover(function() {
$(this).next("div.details").addClass("hidden");
}, function() {
$(this).next("div.details").removeClass("hidden");
});
Merci ... mais comment faire apparaître à côté de l'hyperlien – Hulk
@Hulk: Vous pouvez changer d'un 'div' à un' span', ou vous pouvez ajouter 'display: inline' à son style. – Sampson
Merci ...................... – Hulk