我有一个工具提示,当你鼠标点击一个链接。如果你悬停在上面(因为里面有链接之类的),我希望工具提示保持不变,或者如果你鼠标离开链接就会消失。我试过几样东西,但还没弄明白。这是我第一次用jQuery构建任何严肃的东西。
下面的内容是.hover() 'handlerOut‘事件中的内容。
if($(this.a).mouseout())
{
if ($('.tip_container').hover()) {
$('.tip_container').css('display', 'block');
$('.tip_container').mouseleave(function() {
$('.tip_container').remove(0);
});
} else if ($('.tip_container').hover() == false && $(this.a).mouseoff() == true)
{
$('.tip_container').remove(0);
}
}
>>"this.a" refers to the link<<有了这个和其他的东西,我已经尝试过的工具提示不会消失,除非你鼠标从它的关闭。我也试过
else if (!$('.tip_container').hover() && $(this.a).mouseoff()) {有可能有多种情况吗?
代码的主要思想是,如果您从链接“this.a.a”中滑落,工具提示将被移除:
$('.tip_container').remove(0);但是,如果您鼠标在工具提示上,它将不会被删除,直到您鼠标离开工具提示。
发布于 2014-01-09 05:33:32
在好好休息了一段时间之后,我想出了一个解决办法。这就是我在悬停handlerOut事件中所放的内容。
var timer;
timer = setTimeout(function() {
$('.tip_container').remove();
}, 500);
$( '.tip_container' ).hover(
function() {
clearTimeout(timer);
$('.tip_container').css('display', 'block');
}, function() {
$('.tip_container').remove();
}
);在悬停出链接时,它将等待执行删除,如果鼠标悬停在工具提示上方,它将清除计时器并将工具提示设置为块以保持其显示,然后将鼠标悬停在工具提示之外,它将被移除。
发布于 2014-01-08 03:21:50
你有小提琴或什么东西要演示吗?
也许就像
$(this, '.tip_container').hover(function () {
$('.tip_container').show();
}, function () {
$('.tip_container').hide();
}
);基本上将链接和工具提示元素绑定到悬浮方法,该方法在mouseenter/mouseleave上隐藏/显示工具提示元素。在评论中发布的链接是一个很好的起点。
https://stackoverflow.com/questions/20986242
复制相似问题