Bootstrap框架学习(五)——Bootstrap插件设计之模态对话框

时间:2022-12-28 17:21:19

五、Bootstrap插件设计

    Bootstrap JavaScript插件包括引入方式、data属性及事件等方面内容。在Bootstrap框架下,JS插件可以单个引入(使用Bootstrap框架提供的单个模块的JS文件),也可以一次性全部引入(使用bootstrap.js或压缩坂的bootstrap.min.js)。
    需要注意:

        建议使用压缩版的JS文件(bootstrap.js和bootstrap.min.js都包含了所有插件,使用时只需选择一个引入页面就行了)。

        避免组件的data属性冲突(不要在同一个元素上同时使用多个插件的data属性,例如按钮组件不能同时支持工具提示和模态框等)。

        注意插件间的依赖关系(例如某些插件和CSS组件依赖于其他插件,假设单个引入插件时要确保在文档中检查插件之间的依赖关系)。

  data属性

        Bootstrap框架提供了非常有用的data属性用于扩展功能,设计时仅仅通过data属性API就可以使用所有的Bootstrap插件,不需要编写JS脚本代码。Bootstrap框架默认开启data属性,但在有些特殊情景下需要关闭这一功能,例如当要解除data-api为命名空间并绑定在文档上的事件时,可使用一下代码:
$(document).off('.data-api');
$(document).off('.alert.data-api');    <!-- 针对.alert插件 -->

    事件

        Bootstrap框架为大部分插件提供了自定义事件。一般,事件分不定式(开始时触发)和过去式(结束时触发)两种动词命名形式。Bootstrap事件的名称采用命名空间方式,所有以不定式形式的动词命名的事件都提供preventDefault功能。

1、Bootstrap模态对话框

    Bootstrap模态对话框是一类简洁、灵活的弹出框,不支持模态对话框重叠。必须将模态对话框的HTML代码放在文档的最高层级内(body标签的直接子元素)。
代码 解释
div id="example" 分配给相关 div 的 id,id 的值指向后边要实现 modal(模态框)的 JavaScript。
class="modal hide fade in" Bootstrap CSS 的四个 class - modal、hide、fade 和 in,用于设置 modal(模态框)的布局。
style="display: none; 用于保持模态窗口可见,直到触发器触发(比如点击相关按钮)。
<div class="modal-header"> modal-header 适用于定义模态窗口标题样式的 class。
a class="close" CSS class close 用于设置模态窗口关闭按钮的样式。
data-dismiss="modal" data-dismiss 是一个定制的 HTML5 data 属性。用于关闭模态窗口。
class="modal-body" modal-body 是 Bootstrap 的一个 CSS class,用于设置模态窗口主体的样式。
class="modal-footer" modal-footer 是 Bootstrap 的一个 CSS class,用于设置模态窗口尾部的样式。
class="btn btn-success" CSS class btn 和 btn-success 用于在模态窗口的尾部创建一个大号的按钮。您可以使用任何其他 Bootstrap 按钮代替。
class="btn" Bootstrap CSS 的 按钮 class btn,用于在模态窗口的尾部创建一个小号的按钮。
data-dismiss="modal" HTML5 定制的 data 属性 data-dismiss,用于关闭模态窗口。
data-toggle="modal" HTML5 定制的 data 属性 data-toggle,用于打开模态窗口。
class="btn btn-primary btn-large" 设置按钮样式,点击该按钮则创建模态窗口。
<script src="https://ajax.googleapis.com/ajax/libs
/jquery/1.7.1/jquery.min.js"></script>
引用 Jquery 文件。
<script src="../bootstrap/twitter-bootstrap-v2>
/js/bootstrap-modal.js"></script>
引用 bootstrap modal(模态框)的 JS 文件。

    静态模态对话框

        Bootstrap的静态模态对话框式带有标题、正文、页脚按钮的对话框。
Bootstrap框架学习(五)——Bootstrap插件设计之模态对话框
<div class="bs-example bs-example-modal">
    <div class="modal">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
                    <h4 class="modal-title">静态模态对话框</h4>
                </div>
                <div class="modal-body">
                    <p>静态模态对话框…</p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                    <button type="button" class="btn btn-primary">保存</button>
                </div>
            </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
</div><!-- /example -->

    动态模态对话框

        Bootstrap动态模态对话框式通过JS触发一个模态对话框,显示过程中可以定制不同的过渡效果。
         Bootstrap框架学习(五)——Bootstrap插件设计之模态对话框
Bootstrap框架学习(五)——Bootstrap插件设计之模态对话框
<div id="dynModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="dynModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                    <span aria-hidden="true">×</span>
                    <span class="sr-only">Close</span>
                </button>
                <h4 class="modal-title" id="dynModalLabel">动态模态对话框</h4>
            </div>
            <div class="modal-body">
                <h4>文本内容</h4>
                <p>动态模态对话框文本内容</p>
                <h4>工具提示</h4>
                <p><a href="#" class="tooltip-test" title="Tooltip">动态模态对话框</a>工具提示</a></p>
                <hr>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                <button type="button" class="btn btn-primary">保存</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div class="bs-example" style="padding-bottom: 24px;">
    <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#dynModal">
        打开动态模态对话框
    </button>
</div><!-- /button -->