使用bootstrap插件实现模态框效果

今天我们选择使用著名的 bootstrap 库的模态框插件 modal.js 来实现模态框效果,同时也使大家进一步熟悉 bootstrap 的插件使用。

一. bootstrap 的 js 插件的简单介绍

1.引入

我们在使用 bootstrap 库时,引入的文件 bootstrap.js 或者 bootstrap.min.js 就是 bootstrap的插件文件,这两种文件都集成了 bootstrap 的所有插件,区别在于 *.min.js 是压缩后的版本。

我们在使用 bootstrap 的 js插件时不需要做更多的工作,只需要引入这两个文件中的一个就可以了,另外重要的信息是 bootstrap 的所有插件都依赖于 jquery 库,所以在引入 bootstrap 的插件时,必须先引入 jquery 库。

如果只使用 bootstrap库的 某个插件,所以不想引入全部插件时,可以选择单独引入某个插件。此种方法需要你有要使用的插件的单独文件,bootstrap 共有 12 个 js 插件,你可以到 github此处 下载使用每个插件的单独文件

另外 bootstrap 有以下 12 个插件,大家可以大概做个了解:

  • 动画过渡(Transitions): transition.js
  • 模态弹窗(Modal): modal.js
  • 下拉菜单(Dropdown): dropdown.js
  • 滚动侦测(Scrollspy): scrollspy.js
  • 选项卡(Tab): tab.js
  • 提示框(Tooltips): tooltop.js
  • 弹出框(Popover): popover.js
  • 警告框(Alert): alert.js
  • 按钮(Buttons): button.js
  • 折叠/手风琴(Collapse): collapse.js
  • 图片轮播Carousel: carousel.js
  • 自动定位浮标Affix: affix.js

2.引入插件的使用

bootstrap 提供了一个非常方便的 API 来调用插件,那就是 data 属性 。我们不需要写很多 js 代码,只需要为 HTML 标签增加 data-* 属性,就可以调用 js 插件实现各种效果

例如我们想为按钮绑定 下拉菜单效果,只需要为按钮添加 data-toggle="dropdown" 属性,在点击按钮时,就会调用 dropdown 插件了。

当然我们也可以使用 bootstrap 提供的 纯javascript API 来调用插件,例如为 id 为 test 的 按钮绑定调用 dropdown 插件操作,可以使用如下的 js 代码

rush:js;"> $("#test").dropdown(option) /可带选项参数option

二.模态框插件

bootstrap 模态框插件是 modal.js 。使用的样式组件如下:

  • .modal 模态框
  • .modal-dialog 模态框主体
  • .modal-content 模态框内容
  • .modal-header 模态框内容头部(标题
  • .modal-title 模态框标题
  • .modal-body 模态框内容主要内容部分
  • .modal-footer 模态框内容底部 (可放置操作按钮等)

一个模态框的结构类似如下

rush:js;">

模态框是个值得学习的好效果

一个按钮的 data-toggle="modal" 表示 此按钮为模态框的触发器,点击时弹出模态框。另外也可以使用 链接标签 的 href 属性代替 data-toggle 将链接 作为触发器,但不推荐。

data-target="#modalone" 属性表示 触发的模态窗口 ID 为 modalone 。一个页面可以有多个模态窗口触发器,但是一个触发器只能触发对应的模态框,不能触发多个模态框。

以上两个 data 属性是实现模态框效果必须的。

fade 格式化类可以为模态框弹出添加过渡效果

close 格式化类 和 data-dismiss 属性配合可以为模态框添加关闭按钮。

另外还有一些其他可选的 data 属性,可以增强模态框的表现效果。如下:

通过 JS 代码调用插件带 选项参数 也可以达到与设置以上属性相同的效果代码如下:

rush:js;"> $(function () { $(".btn").click(function () { $("#modalone").modal({ backdrop: false,// 相当于data-backdrop keyboard: false,// 相当于data-keyboard show: true,// 相当于data-show remote: "" // 相当于a标签作为触发器的href }); }); });

最后,以上模态框代码效果如下:

未点击按钮时:

点击后:

一个简单的模态框效果就制作完成了。

三.补充

JS 代码调用插件, .modal() 方法的参数除了可以携带以上提及的 option 参数外,还可以有以下几个:

同时,模态框插件还提供了以下几个钩子事件函数,可以在JS代码中使用来达到丰富模态框效果添加更多功能的目的。

normal; word-spacing: 0px; border-collapse: collapse; border-bottom: silver 1px solid; text-transform: none; color: rgb(51,51,51); padding-bottom: 0px; padding-top: 0px; font: 14px/25px Verdana,Arial,Helvetica,sans-serif; padding-left: 0px; margin: 0px; border-spacing: 0px; border-left: silver 1px solid; widows: 1; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"> ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">
ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">show.bs.modalottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">在show方法调用时立即触发(尚未显示之前);如果单击了一个元素,那么该元素将作为事件relatedTarget事件ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">shown.bs.modalottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">该事件在模态窗完全显示用户之后(并且等CSS动画完成之后)触发;如果单击了一个元素,那么该元素将作为事件relatedTarget事件ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">hide.bs.modalottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">在hide方法调用时(但还未关闭隐藏)立即触发ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"> ottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">hidden.bs.modalottom: silver 1px solid; padding-bottom: 3px; padding-top: 3px; padding-left: 3px; margin: 0px; border-left: silver 1px solid; padding-right: 3px">ottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">该事件在模态弹出窗完全隐藏之后(并CSS动画漂亮完成之后)触发

以上所述是小编给大家介绍的使用bootstrap插件实现模态框效果。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

相关文章

Bootstrip HTML 查询搜索常用格式模版 <form class=&...
如何在按钮上加红色数字 您可以使用Bootstrap的badge组件来在...
要让两个按钮左右排列,你可以使用 Bootstrap 的网格系统将它...
是的,可以将status设置为布尔类型,这样可以在前端使用复选...
前端工程师一般用的是Bootstrap的框架而不是样式,样式一般自...
起步导入:<linkrel="stylesheet"href="b...