[英]Jquery if else statment for tooltip
将鼠标悬停在链接上时,会显示一个工具提示。 我希望如果您将鼠标悬停在工具提示上(因为其中包含链接等),或者如果您将鼠标移离链接,则工具提示将消失。 我尝试了几件事,但还没有弄清楚。 这是我第一次用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”链接上,则将通过以下方式删除工具提示:
$('.tip_container').remove(0);
但是如果您将鼠标悬停在工具提示上,除非将其从工具提示上移开,否则它不会被删除。
您有小提琴或其他任何要证明的东西吗?
也许像
$(this, '.tip_container').hover(function () {
$('.tip_container').show();
}, function () {
$('.tip_container').hide();
}
);
基本上将链接和工具提示元素都绑定到悬停方法,该方法在mouseenter / mouseleave上隐藏/显示工具提示元素。 Pointy发表在评论中的链接是一个不错的起点
经过一夜安眠后,忽略了片刻,我想出了一个解决方案。 这就是我在悬停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();
}
);
在鼠标悬停在链接上之前,它将等待执行删除,并且如果鼠标悬停在工具提示上,它将清除计时器并将工具提示设置为阻止以保持其显示,然后在该鼠标悬停在工具提示上时,它将被删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.