JSFiddle - React, Tailwind, and code Playground

by mynameisdonald

HTML

<div class="middle">
    <div class="middle_row">
        <button data-data="You clicked button A">A</button>
    </div>
    <div class="middle_row">
        <button data-data="You clicked button B">B</button>
    </div>
    <div class="middle_row">
        <button data-data="You clicked button C">C</button>
    </div>
</div>

CSS

.middle {
    display: table;
    margin: 40px auto;
    width: 300px;    
}
.middle_row {
    display: table-cell;
    width: 33%;
}
.tip {
    color: #fff;
    font-size: 10px;
    line-height: 1.333;
    text-shadow: none;
    padding: 2px 7px;
    background: #da5a47;
    border-radius: 4px;
    font-weight: bold;
    position: absolute;
    display: block;
    cursor: default;
    white-space: nowrap;
    margin-left: -40px;
    margin-top: -20px;
}

.tip:after {
    position: absolute;
    display: block;
    content: "";
    bottom: -6px;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -3px;
    overflow: hidden;
    border: 3px solid transparent;
    border-top-color: #da5a47;
}

JavaScript

$('body').on('click','button',function(){
    if($(this).parent().find(".tip").length != 0){
        $('.tip').remove();
    } else {
        $('.tip').remove();
        $(this).before('<div class="tip">'+$(this).data('data')+'</div>');
    }
});