Пытаюсь сделать адаптивное tooltip окно.
Но возник вопрос, если tooltip показывается справа от элемента, как рассчитать тот момент когда он не будет влезать с правой стороны от элемента в контейнере?
И как позиционировать tooltip по вертикали что бы он оказался по середине элемента?
codepenvar showingTooltip;
document.onmouseover = function(e) {
var target = e.target;
var tooltip = target.getAttribute('data-tooltip');
if (!tooltip) return;
var tooltipElem = document.createElement('div');
tooltipElem.className = 'tooltip';
tooltipElem.innerHTML = tooltip;
document.body.appendChild(tooltipElem);
var coords = target.getBoundingClientRect();
var left = coords.left + target.offsetWidth;
if (left < 0) left = 0;
var top = coords.top - tooltipElem.offsetHeight - 5;
if (top < 0) {
top = coords.top + target.offsetHeight + 5;
}
tooltipElem.style.left = left + 'px';
tooltipElem.style.top = top + 'px';
showingTooltip = tooltipElem;
};
document.onmouseout = function(e) {
if (showingTooltip) {
document.body.removeChild(showingTooltip);
showingTooltip = null;
}
};