Bootstrap 3之美07-插件Collapse、Accordion、Modal、Tab、Tooltip、Alert、Carousel

类似Page Header, Breadcrumbs, Dropdowns等,都是Bootstrap的组件,是静态的。如果涉及到交互,Bootstrap提供了插件。这些插件包括:

○ 过渡效果: bootstrap-transition.js
○ 模态对话框:bootstrap-modal.js
○ 下拉项:bootstrap-dropdown.js
......

这些插件可以单独引入到页面。而在bootstrap.js或bootstrap.min.js文件中已经包含了所有的插件。

本篇主要包括:

■ 如何使用Bootstrap插件
■ Collapse
■ Accordion
■ Modal
■ Tab
■ Tooltip
■ Alert
■ Carousel

□ 如何使用Bootstrap插件

1、通过调用属性API

<a href="#" class="btn" data-toggle="dropdown"></a>

data-toggle是Bootstrap的专用属性,它的值对应插件的名称。

另外,data-toggle属性需要搭配data-target一起使用。data-target也是Bootstrap的专用属性,用来指定控制对象,它的属性值是一个jQuery选择符。比如:

<button data-toggle="modal" data-target="#id" class="btn"></button>
<div id="id" class="modal hide fade"></div>

如果想禁用属性API

$(‘body‘).off(‘.data-api‘);

如果想禁用某个属性API,比如禁用alert的属性API

$(‘body‘).off(‘.alert.data-api‘);

2、通过调用Javascript的API

显示下拉菜单

$(‘.btn‘).dropdown();

显示模态对话框

$(‘.btn‘).click(function(){
    $(‘#id‘).modal({
        backdrop: false,
        keyboard: false
    });
})

Bootstrap的插件方法参数也可以是特定意义的字符串。比如:

$(‘#id‘).modal(‘hide‘);

使用Constructor属性来访问插件

var temp = $.fn.modal.Constructor

使用data方法访问插件

$(‘[rel = modal]‘).data(‘modal‘)

如果Boostrap与其它UI框架发生命名冲突,可以调用noConflict方法来获取插件

var bootstrapmodal = $.fn.modal.noConflict();

□ Collapse

点击按钮或链接等,显示或隐藏某个区域,比如div。

            <div class="row">
                <ul class="nav nav-pills navbar-default">
                    <li><a href="#attri" data-toggle="collapse">Attributions</a></li>
                    <li><a href="#pics" data-toggle="collapse">Pics</a></li>
                </ul>

                <div id="attri" class="collapse">
                    attri
                </div>
                <div id="pics" class="collapse">
                    pics
                </div>
            </div>

□ Accordion

每次只能显示一块区域,区域的区域隐藏。

            <div class="row">
                <div id="accordion" class="panel-group">
                    <div class="panel panel-info">
                        <div class="panel-heading">
                            <div class="panel-title">
                                <a href="#first" data-toggle="collapse" data-parent="#accordion">First</a>
                            </div>
                        </div>
                        <div class="panel-collapse collapse in" id="first">
                            <div class="panel-body">
                                <img src="images/19.jpg" alt="19"/>
                            </div>
                        </div>
                    </div>

                    <div class="panel panel-info">
                        <div class="panel-heading">
                            <div class="panel-title">
                                <a href="#second" data-toggle="collapse" data-parent="#accordion">Second</a>
                            </div>
                        </div>
                        <div class="panel-collapse collapse" id="second">
                            <div class="panel-body">
                                <img src="images/20.jpg" alt="20"/>
                            </div>
                        </div>
                    </div>

                    <div class="panel panel-info">
                        <div class="panel-heading">
                            <div class="panel-title">
                                <a href="#third" data-toggle="collapse" data-parent="#accordion">Third</a>
                            </div>
                        </div>
                        <div class="panel-collapse collapse" id="third">
                            <div class="panel-body">
                                <img src="images/21.jpg" alt="21"/>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

□ Modal

模态弹出窗口。

1、通过调用属性API

            <div class="row">
                <a href="#setDialog" class="btn btn-info" data-toggle="modal">点我</a>
                <div class="modal fade" id="setDialog" tabindex="-1">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header"><h4>Thanks for coming</h4></div>
                            <div class="modal-body"><p>This is all i can provide</p></div>
                            <div class="modal-footer"><button class="btn btn-success" data-dismiss="modal">关闭</button></div>
                        </div>
                    </div>
                </div>
            </div>

2、通过调用Javascript的API

使用Javascript的API方式调用Modal。modal部分不变,按钮部分改成:

<button class="btn btn-info" id="open">点我</button> 

再为id为open的按钮添加jQuery事件:

    <script type="text/javascript">
        $(function() {
            //模态窗口
            var $setDialog = $(‘#setDialog‘);
            $(‘#open‘).on("click", function () {
                $setDialog.modal(‘show‘);
                return false;
            });
        });
    </script>

还可以为模态窗口添加事件。

    <script type="text/javascript">
        $(function() {
            //模态窗口
            var $setDialog = $(‘#setDialog‘);
            $(‘#open‘).on("click", function () {
                $setDialog.modal(‘show‘);
                return false;
            });

            //在模态窗口隐藏的时候发生
            $setDialog.on("hidden.bs.modal", function() {
                alert(‘我要被关闭了~~‘);
            });
        });
    </script>

□ Tab

选项卡切换内容。

            <div class="row">
                <ul class="nav nav-tabs">
                    <li><a href="#contactTab" data-toggle="tab">Contact</a></li>
                    <li><a href="#addressTab" data-toggle="tab">Address</a></li>
                </ul>

                <div class="tab-content">
                    <div class="well tab-pane active" id="contactTab">
                        <p>11111111</p>
                    </div>

                    <div class="well tab-pane" id="addressTab">
                        <p>22222222</p>
                    </div>
                </div>

            </div>

□ Tooltip

当把鼠标移动到某个元素上面,出现提示。

Html部分为:

            <div class="row">
                <input type="submit" value="submit" class="btn btn-success" data-toggle="tooltip" title="Press here"/>
            </div>

Javascript部分为:

$(‘input[type=submit]‘).tooltip();

可以在input上添加更多的属性API。

            <div class="row">
                <input type="submit" value="submit" class="btn btn-success" data-toggle="tooltip" title="Press here" data-placement="right" data-delay="500"/>
            </div>

也可以通过Javascript的API。

$(‘input[type=submit]‘).tooltip({
    delay:{
        show: 500,
        hide: 0
    }
});

Tooltip也可以显示为html。

            <div class="row">
                <input type="submit" value="submit" class="btn btn-success" data-toggle="tooltip" title="<img src=‘images/20.jpg‘ />" data-placement="right" data-delay="500" data-html="true"/>
            </div>

□ Alert

点击某个元素,弹出提示框。

Html部分。

            <div class="row">
                <button id="btn" class="btn btn-success">显示</button>
                <div class="alert alert-warning collapse" id="sendAlert">
                    <a href="#" data-dismiss="alert" class="close">&times;</a>
                    <p>ok, i am here</p>
                </div>
            </div>

Javascript部分。

            //提示框
            var $sendAlert = $(‘#sendAlert‘);
            $(‘#btn‘).on(‘click‘, function() {
                $sendAlert.show();
            });

            $sendAlert.on(‘close.bs.alert‘, function () {
                //放置Alert部分从DOM中删除
                $sendAlert.hide();
                return false;
            });

□ Carousel

Html部分。

    <div class="container">
        <div id="myCarousel" class="carousel">
            <ol class="carousel-indicators">
                <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
                <li data-target="#myCarousel" data-slide-to="1"></li>
                <li data-target="#myCarousel" data-slide-to="2"></li>
            </ol>
            <!-- Carousel items -->
            <div class="carousel-inner">
                <div class="active item"><img src="images/1.jpg"/></div>
                <div class="item"><img src="images/2.jpg"/></div>
                <div class="item"><img src="images/3.jpg"/></div>
            </div>
            <!-- Carousel nav -->
            <a class="carousel-control left" href="#myCarousel" data-slide="prev">&lsaquo;</a>
            <a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</a>
        </div>
    </div>

Javascript部分。

    <script type="text/javascript">
        $(function() {
            $(‘.carousel‘).carousel();
        });
    </script>

参考资料:WilderMinds

“Bootstrap 3之美”系列类包括:

Bootstrap 3之美01-下载并引入页面

Bootstrap 3之美02-Grid简介和应用

Bootstrap 3之美03-独立行,文字环绕,图片自适应,隐藏元素

Bootstrap 3之美04-自定义CSS、Theme、Package

Bootstrap 3之美05-排版、Button、Icon、Nav和NavBar、List、Table、Form

Bootstrap 3之美06-Page Header、Breadcrumbs、Dropdowns、Button Dropdowns、用Button和Dropdowns模拟Select、Input Groups、Thumbnails、Panels、Wells

Bootstrap 3之美07-插件Collapse、Accordion、Modal、Tab、Tooltip、Alert、Carousel

时间: 2024-08-14 07:41:05

Bootstrap 3之美07-插件Collapse、Accordion、Modal、Tab、Tooltip、Alert、Carousel的相关文章

Bootstrap 3之美05-排版、Button、Icon、Nav和NavBar、List、Table、Form

本篇主要包括: ■  排版■  Button■  Icon■  Nav和NavBar■  List■  Table■  Form 排版 ● 斜体:<em>● 加粗体:<strong>● 突出段落:class="lead"● 字体颜色:class="text-success",class="text-muted",class="text-success",class="text-primary&

自己写的基于bootstrap风格的弹框插件

自己写的一款基于bootstrap风格的弹框插件,暂时只有确认框.提示框.后续功能扩展.bug修改再更新. ;(function($){ //默认参数 var PARAMS; var DEFAULTPARAMS = { width: 500, title: '提示消息', content: '', okbtn: '确定', cancelbtn: '取消', headerBackground: 'info', vbackdrop: 'static', //默认点击遮罩不会关闭modal vkeyb

Bootstrap 弹出框(Popover)插件

Bootstrap 弹出框(Popover)插件与Bootstrap 提示工具(Tooltip)插件类似,提供了一个扩展的视图,用户只需要把鼠标指针悬停到元素上面即可.弹出框的内容完全由Bootstrap Data API来填充. 用法 弹出框插件根据需要生成内容或标记,默认情况下把弹出框(Popover)放在它们触发元素的后面,您可以有两种方法来启动弹出框 1.通过data属性:如需要添加一个弹出框,只需要向锚或按钮添加一个data-toggle="popover"即可.锚的 tit

angularjs封装bootstrap官网的时间插件datetimepicker

背景:angular与jquery类库的协作 第三方类库中,不得不提的是大名鼎鼎的jquery,现在基本上已经是国内web开发的必修工具了.它灵活的dom操作,让很多web开发人员欲罢不能.再加上已经很成熟的jquery UI 库和大量jquery 插件,几乎是一个取之不尽用之不竭的宝库.然而,它是否能与angularjs结合呢? 很多angularjs原教旨主义者对此持否定态度.他们认为,既然已经使用了angularjs做web应用框架,那就必须避免其他类库的干扰,做纯净的MvvM模式应用.任

Bootstrap 3之美06-Page Header、Breadcrumbs、Dropdowns、Button Dropdowns、用Button和Dropdowns模拟Select、Input Groups、Thumbnails、Panels、Wells

本篇主要包括: ■  Page Header■  Breadcrumbs■  Button Groups■  Dropdowns■  Button Dropdowns■  用Button和Dropdowns模拟Select■  Input Groups■  Thumbnails■  Panels■  Wells □ Page Header Page Header是指页面最顶部. <div class="page-header"> <h1>超级球迷</h1&

Bootstrap 3之美04-自定义CSS、Theme、Package

本篇主要包括: ■  自定义CSS■  自定义Theme■  自定义Package 自定义CSS 有时候,需要自定义或重写Bootstrap默认的CSS.→在css文件夹下创建一个site.css→假设要对container类重写,在site.css中 .container { background-color: #eee; } →把site.css引用到index.html中,并放置在bootstrap.min.cs的下方 <link href="css/bootstrap.min.cs

Bootstrap 3之美02-Grid简介和应用

本篇主要包括: ■  Grid简介■  应用Grid■  Multiple Grids Grid简介 Bootstrap中,把页面分成12等份,这就是所谓的Grid. 在Bootstrap中,用类名控制,这些类型遵循".col-xx-6"类似的形式. 2个6就占满整个页面.所以,类名最后面的数字表示要占几个格子. 又比如,3个4也占满整个页面. 又比如,4个3也占满整个页面. 又比如,6个2也占满整个页面. 另外,类似".col-xx-10 .col-xx-offset-2&

Bootstrap 3之美03-独立行,文字环绕,图片自适应,隐藏元素

本篇主要包括: ■  添加独立的一行■  文字环绕■  图片自适应■  隐藏元素 添加独立的一行 在id为body的section和id为main的section之间,添加2张图片. 我们发现,新加的2张图片把主体内容挤到了右侧. 那么,我们如何处理新加的2张图片呢?--我们不太可能用container,因为它是页面布局层面的类名.但我们可以把这2张图片放在class名为row的div中. 我们还可以加更多的图片. 现在的图片还没有居中.考虑到总共有12个单元格,而4张图片只占了8个单元格,还空

使用Bootstrap 3开发响应式网站实践05,使用Tab、Modal、Form展示内容,使用Popover、Tooltip展示提示信息

本篇体验用Tab插件显示内容.Html部分为: <div class="row" id="moreInfo"> <div class="col-sm-6"> <h3>兰帕德宣布退出英格兰队</h3> <div class="tabbable"> <ul class="nav nav-tabs"> <li class="a