Javascript 如何对齐工具提示的中心

Javascript 如何对齐工具提示的中心,javascript,Javascript,当您悬停时,如何在中心排列弹出式工具提示?通过脚本插入的工具提示,相对于块绝对定位 JavaScript代码: elem.style.width = target.clientWidth / 2 + 'px'; elem.style.top = target.clientHeight / 2 - div.offsetHeight + 'px'; elem.style.left = target.clientWidth / 2 - div.offsetWidth + 'px'; JavaScr

当您悬停时,如何在中心排列弹出式工具提示?通过脚本插入的工具提示,相对于块绝对定位

JavaScript代码:

elem.style.width = target.clientWidth / 2 + 'px';
elem.style.top = target.clientHeight / 2 - div.offsetHeight + 'px';
elem.style.left = target.clientWidth / 2 - div.offsetWidth + 'px'; 
JavaScript


您正在减去附加div的整个高度,而不仅仅是减半:

document.addEventListener('mouseover', function(e) {
    var target = e.target;
    if(target.className != 'd1') return;
    var header = target.getElementsByTagName('h2')[0].innerHTML;
    var content = target.getElementsByTagName('p')[0].innerHTML;

    var div = document.createElement('div');
    div.className = 'tooltip';
    div.insertAdjacentHTML('beforeEnd', "<h2>" + header +"</h2>");
    div.insertAdjacentHTML('beforeEnd', "<p>" + content +"</p>");
    target.appendChild(div);

    div.style.width = target.clientWidth / 2 + 'px';
    div.style.top = ((target.clientHeight / 2) - (div.offsetHeight/2)) + 'px';
    div.style.left = ((target.clientWidth / 2) - (div.offsetWidth/2)) + 'px';  

});
document.addEventListener('mouseover',函数(e){
var目标=e.target;
if(target.className!=“d1”)返回;
var header=target.getElementsByTagName('h2')[0].innerHTML;
var content=target.getElementsByTagName('p')[0].innerHTML;
var div=document.createElement('div');
div.className='工具提示';
div.insertAdjacentHTML('beforeed',“”+header+“”);
div.insertAdjacentHTML('beforeed',“”+content+“

”); 目标儿童(div); div.style.width=target.clientWidth/2+'px'; div.style.top=((target.clientHeight/2)-(div.offsetHeight/2))+'px'; div.style.left=((target.clientWidth/2)-(div.offsetWidth/2))+'px'; });
随时可以。第二双眼睛可能很有用。