FullCalendar:鼠标悬停时,如何判断事件的左上角是否悬停



我使用的是Adam Shaw的FullCalendar v1.5.3。我已经得到了几乎所有的工作,接受我正在尝试做一个"简单"的悬停提示,但无法完全得到我想要的。

我试图使工具提示的左侧与我悬停的事件的左侧相同。我正试图让工具提示悬停在事件上方。

我当前使用的代码似乎给了我一个鼠标进入FullCalendar事件的"随机"左上角。

我当前的代码看起来像:

    eventMouseover: function (event, jsEvent, view) {
            var eventInfo = $("#EventInfoTip");
            var mousex = jsEvent.pageX + 20; //Get X coodrinates
            var mousey = jsEvent.pageY + 20; //Get Y coordinates
            var tipWidth = eventInfo.width(); //Find width of tooltip
            var tipHeight = eventInfo.height(); //Find height of tooltip
            //Distance of element from the right edge of viewport
            var tipVisX = $(window).width() - (mousex + tipWidth);
            //Distance of element from the bottom of viewport
            var tipVisY = $(window).height() - (mousey + tipHeight);
            if (tipVisX < 20) { //If tooltip exceeds the X coordinate of viewport
                mousex = jsEvent.pageX - tipWidth - 20;
            } if (tipVisY < 20) { //If tooltip exceeds the Y coordinate of viewport
                mousey = jsEvent.pageY - tipHeight - 20;
            }
            //Absolute position the tooltip according to mouse position
            eventInfo.css({ top: mousey, left: mousex });
            eventInfo.show(); //Show tool tip
        } //end full calendar mouseover event

EventInfoTip是页面上的一个简单跨度:

<span id = "EventInfoTip">
I'm over an event
</span>

是否可以获取我悬停的当前事件的顶部和左侧?

From docs:"在回调函数中,this被设置为事件的div"元素。

所以您可以使用$(this).offset()来获取页面中的事件div位置。

var elOffset= $(this).offset(), offsetLeft=elOffset.left,  offsetTop=elOffset.top

相关内容

  • 没有找到相关文章

最新更新