我使用的是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