クラス名avatarを持つ各 div に付属する非表示のコンテンツを表示するために、次の 2 つの方法を試しました。
<div class="avatar"><a><img src="avatar.png" width="36" height="36"><div class="profile">Users Profile with Link</div></a></div>
最初のものはホバーを使用し、ページに複数のアバター要素がある場合に完全に機能します。
残念ながら、ツール ヒントにはクリック可能なリンクが組み込まれており、ホバーしてもリンクをクリックすることはできません。
$('.avatar a').hover(function () {
$(this).contents('div:last-child').css({
display : 'inline'
});
}, function () {
$(this).contents('div:last-child').css({
display : 'none'
});
});
残念ながら、ツール ヒントにはクリック可能なリンクが組み込まれており、ホバーしてもリンクをクリックすることはできません。
ここで見つけた、mouseenterとmouseleaveを使用するコーディングをつなぎ合わせました。これも機能し、リンクをクリックできます。
var hover = null;
$('.avatar a').bind('mouseleave', function() {
var $this = $(this).contents('div:last-child');
hover = setTimeout(function() {
$this.fadeOut(400);
}, 800);
});
$('.avatar a').bind('mouseenter', function() {
$(this).contents('div:last-child').css({display:'block'});
if (hover !== null) {
clearTimeout(hover);
}
});
残念ながら、これらのアバターの複数の上にマウスを置いた場合、最後のアバターのみが削除され、他のアバターは常に残ります。
私の質問は、別のツール ヒントに移動するときにアクティブなツール ヒントをフェードアウトする 2 番目のものをどのように使用すればよいかということです。
何か不足していますか?または、これを完全に間違っていますか?