zoukankan      html  css  js  c++  java
  • Bootstrap popover弹出框

    popover被挤压、遮挡的问题:

      弹出框显示的时候如果贴近一个列的边沿,就会很窄或被遮挡,解决起来很简单,只需在初始化的时候添加一个container属性就可以了:

    $(function (){
      $("[data-toggle='popover']").popover({
        trigger: 'hover',
        container: 'body'
      });
    });

    用法:1、bootstrap.js或bootstrap.min.js;2、jQuery.min.js;3、bootstrap.min.css引入三个文件

    bootstrap官方说明:http://v3.bootcss.com/javascript/#popovers

    一、popover常用配置参数:

    JS方式:

    //常用配置参数:
    $(document).ready(function() {
        $('#temp').popover({
             trigger:'hover', //触发方式
             template: '', //你自定义的模板
             title:"标题",//设置弹出框的标题
             html: true, // 为true的话,data-content里就能放html代码了
             content:"",//这里可以直接写字符串,也可以是一个函数,该函数返回一个字符串;
        });
    }
    //常用方法:
    $('#element').popover('show');
    $('#element').popover('hide');
    $('#element').popover('destroy');

    html方式:

    <a tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" data-trigger="focus" title="Dismissible popover" 
    data-content="And here's some amazing content. It's very engaging. Right?">可消失的弹出框</a>

    二、属性方法:

    popover调用示例如下:

    //简单调用
    $(".js-btn-top").popover({
        placement:"top",    //定位方向
        title:"jquery插件",  //如果不需要标题就不要配置这个选项
        content:"内容:建站"
    });
    
    //html:true会解析html标签
    $(".js-btn-bottom").popover({
        trigger:"focus",    //如果设为focus 当按钮失去焦点提示层会消失,例如页面空白处单机提示层消失
        placement:"bottom",
        html:true,
        content:'<p style=" 500px;">html:true会解析html标签哦,<a href="http://www.51xuediannao.com/" target="_blank">建站</a></p><p>你也试试吧!</p>'
    }); 
    
    //事件其实就是一些回调一样的东西,比如隐藏事件hidden,在提示层完全隐藏的时候会触发里面的处理逻辑
    $(".js-btn-bottom").on('hidden.bs.popover', function () {
       // 执行一些动作...
       //这里面的this就是点击的按钮自身
       alert(0);
    })

    案例分析:

      动态产生一个按钮,并给页面中所有具有data-toggle="popover"属性的元素绑定popover(弹出框)效果,

      触发方式:当鼠标指针放到元素上时,弹出弹出框,离开元素时,弹出框消失;弹出框内容要求:一定要包含该触发弹窗元素的文本信息;

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
        <script type="text/javascript" src="bootstrap/bootstrap.min.js"></script>
        <link rel="stylesheet" type="text/css" href="bootstrap/bootstrap.min.css">
    </head>
    <body>
    <div id="main">
        <a id="temp1" tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" title="Dismissible popover">弹出框1</a>
        <a id="temp2" tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover">弹出框2</a>
        <div id="LinkDIV" style="float:left;200px"></div>
    </div>
    <style type="text/css">
    .popover{
        max- 2000px;/*popover有默认最大宽度276px,所以需要重写下*/
    }
    </style>
    <script>
    $(function () {
        $("#LinkDIV").html('<button type="btn btn-lg btn-primary" data-toggle="popover" id="temp3">弹出框3</button>');
        $('[data-toggle="popover"]').each(function () {
            var element = $(this);
            var txt = element.html();
            element.popover({
                trigger: 'hover', 
                placement: 'bottom', //top, bottom, left or right
                title: txt,
                html: 'true',
                content: ContentMethod(txt)
            })
        });
    });
    function ContentMethod(txt) {
        return '<table class="table table-bordered"><tr><td>' + txt + '</td><td>BB</td><td>CC</td><td>DD</td></tr>' +
                '<tr><td>' + txt + '</td><td>BB</td><td>CC</td><td>DD</td></tr>' +
                '<tr><td>' + txt + '</td><td>BB</td><td>CC</td><td>DD</td></tr>'+
                '<tr><td>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td><td>BB</td><td>CC</td><td>DD</td></tr></table>';
    }
    </script>
    </body>
    </html>

    效果图:html结构中的属性的值优先于JS函数中的值。

  • 相关阅读:
    Python文件File方法
    python的slice notation的特殊用法
    函数
    字典
    python 笔记7
    列表解析与生成器
    [CenOS7][Mac] MAC环境中dubbo连接zookeeper超时
    [JAVA][Thread] 实现Runnable接口和继承Thread类创建线程哪种方式更好?
    [Java] String字符常量类型作为参数传递的一些问题
    [JAVA]hashCode()和identityHashCode()的区别
  • 原文地址:https://www.cnblogs.com/goloving/p/7196840.html
Copyright © 2011-2022 走看看