如果在浏览器窗口之外,请更改工具提示位置

时间:2014-08-05 23:27:19

标签: jquery tooltip

我正在尝试创建一个函数来更改工具提示位置,如果它在浏览器窗口之外。但是,它没有用。

这是我的代码:

function tooltipPosition (tooltip, x, y) {
    var tooltipX = x+20;
    var tooltipY = y;

    var offY = $(document).scrollTop();
    var offX = $(document).scrollLeft();

    var bottom = y + $(tooltip).height() + 10;

    if (bottom > $(window).height() + offY) {
        tooltipY = y + $(window).height() + offY - bottom;
    }

    $(tooltip).css('left', tooltipX);
    $(tooltip).css('top', max(tooltipY));
}

我认为问题出在以下几行:

var tooltipX = x+20;

当我尝试使用firebug进行调试时,参数tooltipX值为" 0px10"而不是" 10px"。我能做些什么才能让它发挥作用?

顺便说一下,x和y是悬停div的左侧和最高值。

1 个答案:

答案 0 :(得分:0)

您应该尝试将x转换为整数,或者确保x是整数,然后再将它们添加到一起。在我看来,您在tooltipX中收到了无效的css字符串。

尝试:

function tooltipPosition (tooltip, x, y) {
    var tooltipX = parsetInt(x.split('px')[0])+20;
...