bootstrap本身内置了很多的插件:
我们在右边的菜单栏中可以看到诸如“模态框”、“弹出框”这类经常要用到的插件,就像bootstrap官网上所说的那样,这些插件给了bootstrap组件“生命”,让它们不再是单一的存在题,好了,不说废话了,看看我这次要使用bootstrap的弹出框插件popover做一个什么样的效果呢?最终效果如图所示:
就这样一个简单效果,下面是代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link href="anti/bootstrap-3.3.5/css/bootstrap.min.css" rel="stylesheet"/> <script src="anti/js/jquery-1.10.2.js"></script> <script src="anti/bootstrap-3.3.5/js/bootstrap.min.js"></script> <title>bootstrap插件popover</title> <style> .popover{ max-width: 100%; } </style> </head> <body> <div id="itemgrid" style="display: none"> <table class="table table-condensed table-bordered" style="width:500px"> <tr> <th>编号</th> <th>姓名</th> <th>身份证号码</th> <th>贷款总额</th> <th>申请次数</th> <th>是否逾期</th> </tr> <tr> <th>REQ0008</th> <th>张三</th> <th>1234555555</th> <th>333.444</th> <th>5</th> <th>是</th> </tr> </table> </div> <div style="margin:200px auto;width:200px;"> <input type="button" class="btn btn-link" value="查询明细"> </div> <script> $(".btn-link").popover({ animation:true, trigger: 'click', title: "明细信息", html:true, placement: 'auto top', content: function(){ return $("#itemgrid").html(); }, container:'body' }); </script> </body> </html>
解释:
1.按照官网上的说法,bootstrap官方提供的插件是可以单独引入对应的js文件的,目的就是为了减少页面的加载量,不过插件之间有的还有依赖关系,因此我们直接引入bootstrap.min.js就包含所有的了,也不用费尽心思去找单个插件对应的js文件了。
2.大家看到我在css处定义了如下css代码:
.popover{ max-width: 100%; }
它有什么作用呢?如果我去掉这段css代码后,再看到的效果就是下面这样子了:
就是说bootstrap的插件popover是有最大宽度控制的,怎么更改popover的尺寸大小呢,简单的很,只需要重写".popover"这个css类里面的max-width属性就可以了。
3.bootstrap的插件都有通过data-属性直接写在html标签里面和使用js代码来声明这两种方式,我比较喜欢使用js代码来控制bootstrap的插件,其实都一样,如果你想使用html属性的方式,可以参考官网的写法。
4.下面介绍一下bootstrap的插件popover定义时的一些属性的作用:
animation:可用值true 、false,控制提示框出现或者隐藏的时候是否带有动画效果
trigger: 触发的方式,有click | hover | focus | manual四种方式,因为这里是按钮触发的,我就写click了
title: 弹出框的标题,
html:弹出框显示的内容是否支持html,可用值true,false,为false时将不解析html标签,即原样显示
placement: 可用值top | bottom | left | right | auto,'auto top'表示优先显示在top方向,如果top显示不下,自动选择合适的方向,真智能啊。
content: 可以是一个字符串或者一个回调函数,表示在弹出框popover中要显示的内容。
container:作为谁的子元素,一般写'body'就可以了。