美文网首页
tooltip实现

tooltip实现

作者: 毕安 | 来源:发表于2019-04-15 10:26 被阅读0次

生成tooltip完整流程:触发显示事件 -> 创建tooltip -> 调整tooltip位置 -> 添加动画 -> 显示tooltip -> 触发隐藏事件 -> 隐藏tooltip -> 删除tooltip

获取位置:top left

<!DOCTYPE html>
<html>
<head>
    <title>test</title>
    <script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
    <style type="text/css"> 
    </style>
</head>
<body>
    <div id="outer"  style="width:500px;height: 500px;background-color: blue;margin: 50px auto;text-align: center;">
        <div id="div1" style="width:300px;height: 300px;background-color: red;margin: 100px;float: left;"><p id="show-message"></p></div>
    </div>
<script type="text/javascript">
    $("#div1").on('click',function(){
        var $element = $("#div1");
        var text = "click";
        $("#show-message").html(text);
        var offset = $element.offset();
        console.log(offset);
        var bound = $element.get(0).getBoundingClientRect();
        console.log(bound);
    })
</script>
</body>
</html>

根据弹出框大小,计算出显示位置的top,left

1、bottom时
    1.1、top为定位元素(pos)的top+ 定位元素(pos)的高度
    1.2、left为定位元素(pos)的Left – 定位元素(pos)的宽度/2 – tooltip元素宽度/2
2、top时
    2.1、top为定位元素(pos) 的top-tooltip元素的高度
    2.2、left为定位元素(pos)的left – 定位元素(pos)的宽度/2 – tooltip元素宽度/2
3、left时
    3.1、top为定位元素(pos)的top – 定位元素(pos)的高度/2 – tooltip元素高度/2
    3.2、left为定位元素(pos)的left – tooltip元素的宽度
4、right时
    4.1、top为定位元素(pos)的top – 定位元素(pos)高度/2 – tooltip元素高度/2
    4.2、left为定位元素(pos)的left + 定位元素(pos)宽度

相关文章

网友评论

      本文标题:tooltip实现

      本文链接:https://www.haomeiwen.com/subject/ujfniqtx.html