我现在正在一个有很多工具提示的网站上工作。我想确保工具提示将始终完全显示在视口中。
我知道有用于工具提示的插件,但它们对我不起作用,因为工具提示是通过 css 完成的(而且我不能全部更改!)。您想要获得工具提示的任何元素都被赋予一个位置:相对,并且紧随其后的是一个带有 class='tooltip' 的元素 - 这是 css 代码:
.tooltip{
display:none;
color: #262626;
background-color: #FEFEE0;
padding: 5px 12px;
position: absolute;
box-shadow: 0 0 5px #A6A6A6;
margin-top:-8px;
z-index: 1000;
}
*:hover + .tooltip {
display:block ! important;
}
.tooltip:hover{
display:block;
}
我想做的是,每次显示工具提示(或每次悬停工具提示之前的元素)时,运行一个函数来计算偏移量并确保它适合屏幕(或者移动它,如果不是) .
我现在唯一能想到的但我还没有尝试过的是运行类似的东西:
$("*:hover").each(function(e){
if ($(this).next().hasClass('tooltip')
//run some positioning function
}
好的,所以我不是 jquery 专家,可能是上面的错误,我还没有尝试过,但你明白了。但这有意义吗?它会影响性能(以一种糟糕的方式)吗?
我已经花了好几个小时在这上面工作,结果却一无所获。任何想法都非常感谢!