我使用读取元素title
值的 JQuery 1.10.2 制作了一个简单的工具提示生成器。
它工作正常,除了元素是否在屏幕右侧之外,有时工具提示会漂浮在页面边缘。
如果元素靠近页面右侧,我想将其定位在靠近元素右边缘的位置。
我的代码在下面,也是一个 JSFiddle。所有输入表示赞赏!
function BuildTipsV3() {
var tt = $("#ttfloat");
$("[title]").on({
mouseenter: function() {
// set tooltip
var o = $(this).offset();
var y = o.top;
var x = o.left;
var tooltip = $(this).attr('title') || $(this).data('title');
$(this).attr('title', '');
$(this).data('title', tooltip);
tooltip = tooltip.replace(/(\r\n|\n|\r)/gm, "<br/>");
tt.html(tooltip);
// position tooltip and show
var ttRightSide = x + tt.width();
if (ttRightSide < $(window).width()) {
tt.css({ top: (y + 15), left: (x + 5) });
} else {
tt.css({ top: y, right: 0 }); // <-- problem (right:0) doesn't work
}
tt.show();
},
mouseleave: function () {
$("#ttfloat").hide();
$(this).attr('title', $(this).data('title')); // reset for accessibility
}
});
}