我正在尝试在我的网站上实现一个简单的工具提示。它工作正常,在光标右侧显示工具提示,但现在我试图获得仅位于光标左侧的相同效果。我如何实现这一目标?
这是我的代码:http: //jsfiddle.net/3r5aq/
可能是一个新手问题,但我自己似乎无法弄清楚这个问题。
我正在尝试在我的网站上实现一个简单的工具提示。它工作正常,在光标右侧显示工具提示,但现在我试图获得仅位于光标左侧的相同效果。我如何实现这一目标?
这是我的代码:http: //jsfiddle.net/3r5aq/
可能是一个新手问题,但我自己似乎无法弄清楚这个问题。
您可以计算工具提示的宽度。显然,如果页面上有多个,则需要更新选择器。
.mousemove(function(e) {
var mousex = e.pageX - 5 - $(".tooltip").width(); //Get X coordinates
var mousey = e.pageY; //Get Y coordinates
$('.tooltip')
.css({ top: mousey, left: mousex})
});
我会使用以下内容:
var mousex;
var left = e.pageX - $('.tooltip').width() - 20;
if(left > 0)
mousex = left;
else
mousex = 0;
这样,如果链接在页面上离得太远,工具提示就不会在可见区域之外运行。
您可以通过简单地根据工具提示的大小修改 x 值来将其更改为向左移动:
var mousex = e.pageX - $('.tooltip').width() - 20;
$(document).ready(function() {
// Tooltip only Text
$('.nextTooltip').hover(function(){
// Hover over code
var title = $(this).attr('title');
$(this).data('tipText', title).removeAttr('title');
$('<p class="tooltip"></p>')
.text(title)
.appendTo('body')
.fadeIn('fast');
}, function() {
// Hover out code
$(this).attr('title', $(this).data('tipText'));
$('.tooltip').remove();
}).mousemove(function(e) {
var mousex = e.pageX; //Get X coordinates
var mousey = e.pageY; //Get Y coordinates
$('.tooltip').each(function(ix, item) {
$(item).css({
top: mousey,
left: mousex - $(item).width() - 20
});
});
});
});