前端实现tooltip

鼠标悬浮在问号图标上, 下方展示提示文本.

.tooltip {
    margin: 8px;
    padding: 8px;
    border: 1px solid #CCCCCC;
    background-color: #F6DBB3;
    position: absolute;
    z-index: 2;
}

.arrow-div {
    position: absolute;
    z-index: 3;
    display: inline-block;
    border-top: 1px solid;
    border-right: 1px solid;
    width: 8px;
    height: 8px;
    border-color: #CCCCCC;
    transform: rotate(-45deg);
    margin: 50px auto auto 100px;
    background-color: #F6DBB3;
}
<i class="fa fa-question-circle-o" id="helpIcon" style="font-size: 24px; color: #D0CFCF; margin-left: 13px;"></i>
let changeTooltipPosition = function (event) {
    let xy = $('#helpIcon').offset();
    let tooltipX = xy.left - 180;
    let tooltipY = xy.top + 35;
    $('div.tooltip').css({top: tooltipY, left: tooltipX});
    $('div.arrow-div').css({top: tooltipY - 47, left: tooltipX + 87});
};

let showTooltip = function(event) {
    let div = `<div class="arrow-div"></div><div class="tooltip">提示文本</div>`

    $('div.tooltip').remove();
    $('div.arrow-div').remove();
    $(div).appendTo('body');
    changeTooltipPosition(event);
};

let hideTooltip = function() {
    $('div.tooltip').remove();
    $('div.arrow-div').remove();
};


$("#helpIcon").bind({
    mousemove : changeTooltipPosition,
    mouseenter : showTooltip,
    mouseleave: hideTooltip
});

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...