• 封装tip控件


    在界面上有时需要显示一个提示,大多的前端框架都把提示做成一个带有小尖角的提示框,因此自己也仿照了实现了一下,效果图如下:

    尖角的实现很简单的,一般都是通过css将div的宽高设置为0,然后将尖角朝向的那一边的边的宽度设置为0,然后给两边的边框设置宽度为一个大于0的数字,并将颜色设置为透明,然后将剩余的一边框设置宽度和颜色即可。

    下面是我的实现方式:

    首先是对应的HTML文件:

    <!DOCTYPE>
    <html>
        <head>
            <title>tip_demo</title>
            <link rel="stylesheet" href="css/tip.css">
            <script src="js/jquery-2.2.3.js"></script>
            <script src="js/tip.js"></script>
            <script>
                $(function(){
                    leftTip();
                    rightTip();
                    topTip();
                    bottomTip();
                });
            </script>
            <style>
                .tip-left, .tip-right, .tip-top, .tip-bottom
                {
                    width:250px;
                }
            </style>
        </head>
        <body>
            <div class="tip-left">
                This is left arrow tip
            </div>
            <br>
            <div class="tip-right">
                This is right arrow tip
            </div>
            <br>
            <div class="tip-top">
                This is top arrow tip
            </div>
            <br>
            <div class="tip-bottom">
                This is bottom arrow tip
            </div>
        </body>
    </html>

    CSS文件:

    .tip-left-arrow
    {
        width:0;
        height:0;
        border-left:0px solid transparent;
        border-top:5px solid transparent;
        border-right:10px solid gray;
        border-bottom:5px solid transparent;
        display:inline-block;
    }
    
    .tip-left-content
    {
        display:inline-block;
        height:50px;
        line-height:50px;
        vertical-align:middle;
        background-color:gray;
        border-radius:10px;
        padding:5px;
        padding-left:10px;
        text-align:left;
    }
    
    .tip-right-arrow
    {
        width:0;
        height:0;
        border-right:0px solid transparent;
        border-top:5px solid transparent;
        border-left:10px solid gray;
        border-bottom:5px solid transparent;
        display:inline-block;
    }
    
    .tip-right-content
    {
        display:inline-block;
        height:50px;
        line-height:50px;
        vertical-align:middle;
        background-color:gray;
        border-radius:10px;
        padding:5px;
        padding-right:10px;
        text-align:right;
    }
    
    .tip-top-arrow
    {
        width:0;
        height:0;
        border-top:0px solid transparent;
        border-left:5px solid transparent;
        border-bottom:10px solid gray;
        border-right:5px solid transparent;
        display:inline-block;
    }
    
    .tip-top-content
    {
        height:50px;
        line-height:50px;
        vertical-align:middle;
        background-color:gray;
        border-radius:10px;
        padding:5px;
        padding-left:10px;
    }
    
    .tip-bottom-arrow
    {
        width:0;
        height:0;
        border-bottom:0px solid transparent;
        border-left:5px solid transparent;
        border-top:10px solid gray;
        border-right:5px solid transparent;
        display:inline-block;
    }
    
    .tip-bottom-content
    {
        height:50px;
        line-height:50px;
        vertical-align:middle;
        background-color:gray;
        border-radius:10px;
        padding:5px;
        padding-right:10px;
    }

    最后是JS文件:

    function leftTip()
    {
        var length =  $(".tip-left").length;
        for(var i=0; i<length; i++)
        {
            var content = $(".tip-left:eq(" + i + ")").text();
            $(".tip-left:eq(" + i + ")").text("");
            $(".tip-left:eq(" + i + ")").append("<div class='tip-left-arrow'></div>");
            $(".tip-left:eq(" + i + ")").append("<div class='tip-left-content'>" + content + "</div>");
        }
        
    }
    
    function rightTip()
    {
        var length =  $(".tip-right").length;
        for(var i=0; i<length; i++)
        {
            var content = $(".tip-right:eq(" + i + ")").text();
            $(".tip-right:eq(" + i + ")").text("");
            $(".tip-right:eq(" + i + ")").append("<div class='tip-right-content'>" + content + "</div>");
            $(".tip-right:eq(" + i + ")").append("<div class='tip-right-arrow'></div>");
            
        }
    }
    
    function topTip()
    {
        var length =  $(".tip-left").length;
        for(var i=0; i<length; i++)
        {
            var content = $(".tip-top:eq(" + i + ")").text();
            $(".tip-top:eq(" + i + ")").text("");
            $(".tip-top:eq(" + i + ")").append("<div class='tip-top-arrow'></div>");
            $(".tip-top:eq(" + i + ")").append("<div class='tip-top-content'>" + content + "</div>");
            $(".tip-top:eq(" + i + ")").css("text-align", "center");
        }
        
    }
    
    function bottomTip()
    {
        var length =  $(".tip-bottom").length;
        for(var i=0; i<length; i++)
        {
            var content = $(".tip-bottom:eq(" + i + ")").text();
            $(".tip-bottom:eq(" + i + ")").text("");
            $(".tip-bottom:eq(" + i + ")").append("<div class='tip-bottom-content'>" + content + "</div>");
            $(".tip-bottom:eq(" + i + ")").append("<div class='tip-bottom-arrow'></div>");
            $(".tip-bottom:eq(" + i + ")").css("text-align", "center");
        }
        
    }

    实现需要jquery的支持。

  • 相关阅读:
    野指针、NULL指针和void*
    Windows获取其他进程中Edit控件的内容
    error:LNK2005 已经在*.obj中定义
    2018-2019-1 20165226 《信息安全系统设计基础》第6周学习总结
    # 2018-2019-1 20165226 《信息安全系统设计基础》第5周学习总结
    2018-2019-1 20165310 20165315 20165226 实验一 开发环境的熟悉
    2018-2019-1 20165226 《信息安全系统设计基础》第4周学习总结
    2018-2019-1 20165226 《信息安全系统设计基础》第3周学习总结
    缓冲区溢出漏洞实验
    2018-2019-1 20165226 《信息安全系统设计基础》第2周学习总结
  • 原文地址:https://www.cnblogs.com/lvniao/p/5551553.html
Copyright © 2020-2023  润新知