我尝试了以下两种方法来显示每个具有类名avatar的 div 附带的隐藏内容。
<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);
}
});
不幸的是,如果您将鼠标悬停在多个这些化身上,则只有最后一个会被删除,而其他人则始终保留。
我的问题是如何使用第二个,当我转到另一个时,它会淡出任何活动的工具提示?
我错过了什么吗?还是完全做错了?