bootstrap中popover.js(彈出框)使用總結+案例


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

一. popover常用配置參數:

 1 //常用配置參數:
 2 $(document).ready(function() {
 3             $('#temp').popover(
 4                 {
 5                     trigger:'click', //觸發方式
 6                     template: '', //你自定義的模板
 7                     title:"標題",//設置 彈出框 的標題
 8                     html: true, // 為true的話,data-content里就能放html代碼了
 9                     content:"",//這里可以直接寫字符串,也可以 是一個函數,該函數返回一個字符串;
10                 }
11             );
12         }
13 //常用方法:
14 $('#element').popover('show');
15 $('#element').popover('hide');
16 $('#element').popover('destroy')

二. 案例分析:

1. 案例要求:動態產生一個按鈕,並給頁面中所有具有data-toggle="popover"屬性的元素綁定popover(彈出框)效果,觸發方式:當鼠標指針放到元素上時彈出彈出框,離開元素時,彈出框消失;彈出框內容要求:一定要包含該觸發彈窗元素的文本信息;

2. html代碼:(注意引入bootstrap.js和樣式)

1 <body>
2     <a id="temp1" tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover"  title="Dismissible popover" >彈出框1</a>
3     <a id="temp2" tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover">彈出框2</a>
4 
5     <div id="LinkDIV" style="float:left;width:200px">
6     </div>
7 </body>

3. js代碼:

<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 id = element.attr('id');
                var txt = element.html();
                element.popover({
                    trigger: 'manual',
                    placement: 'bottom', //top, bottom, left or right
                    title: txt,
                    html: 'true',
                    content: ContentMethod(txt),

                }).on("mouseenter", function () {
                    var _this = this;
                    $(this).popover("show");
                    $(this).siblings(".popover").on("mouseleave", function () {
                        $(_this).popover('hide');
                    });
                }).on("mouseleave", function () {
                    var _this = this;
                    setTimeout(function () {
                        if (!$(".popover:hover").length) {
                            $(_this).popover("hide")
                        }
                    }, 100);
                });
            });
        });
        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>

4. 效果圖:

*tips:

1. 彈出框的最大寬度有默認值:275px;(bootstrap.min.css)

 1 .popover {
 2             position: absolute;
 3             top: 0;
 4             left: 0;
 5             z-index: 1060;
 6             display: none;
 7             max-width: 2000px;//我改為了2000px
 8             padding: 1px;
 9             font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
10             font-size: 14px;
11             font-style: normal;
12             font-weight: 400;
13             line-height: 1.42857143;
14             text-align: left;
15             text-align: start;
16             text-decoration: none;
17             text-shadow: none;
18             text-transform: none;
19             letter-spacing: normal;
20             word-break: normal;
21             word-spacing: normal;
22             word-wrap: normal;
23             white-space: normal;
24             background-color: #fff;
25             -webkit-background-clip: padding-box;
26             background-clip: padding-box;
27             border: 1px solid #ccc;
28             border: 1px solid rgba(0,0,0,.2);
29             border-radius: 6px;
30             -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
31             box-shadow: 0 5px 10px rgba(0,0,0,.2);
32             line-break: auto;
33         }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM