浅析BootStrap中Modal(模态框)使用心得

发布时间 - 2026-01-10 22:04:38    点击率:

BootStrap中Modal(模态框)描述

Bootstrap Modals(模态框)是使用定制的 Jquery 插件创建的。它可以用来创建模态窗口丰富用户体验,或者为用户添加实用功能。您可以在 Modals(模态框)中使用 Popover(弹出框)和 Tooltip(工具提示插件)。

一、modal使用:

1.1、登录bootstrap官网,点击下载Bootstrap

1.2、导入对应的样式文件css

1.3、导入对应的js,需要导入bootstrap.js或者bootstrap.min.js文件,bootstrap的前提是jQuery,所以我们要在导入bootstrap.js前面导入jquery.min.js

对应导入代码:

<!--导入样式-->
<link href="Bootstrap/css/bootstrap-theme.css" rel="stylesheet"/>
<link href="Bootstrap/css/bootstrap-theme.min.css" rel="stylesheet" />
<link href="Bootstrap/css/bootstrap.css" rel="stylesheet"/>
<link href="Bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
<!--导入bootstrap.js包-->
<script src="jquery/jquery-3.1.1.min.js"></script>
<script src="Bootstrap/js/bootstrap.min.js"></script>

1.4、从官网找到一个案例使用:

<h2>创建模态框(Modal)</h2>
<!-- 按钮触发模态框 -->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">开始演示模态框</button>
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title" id="myModalLabel">模态框(Modal)标题</h4>
      </div>
      <div class="modal-body">在这里添加一些文本</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 -->
</div>

二、modal打开:

2.1、静态打开:通过data属性打开隐藏模态框

设置按钮button的data-toggle:"modal"(以模态框的形式打开),data-target:"#myModal"(设置为modal的id)

2.2、动态打开:以jquery代码为例

$("#myModal").modal({
remote:"test/test.jsp";//可以填写一个url,会调用jquery load方法加载数据
backdrop:"static";//指定一个静态背景,当用户点击背景处,modal界面不会消失
keyboard:true;//当按下esc键时,modal框消失
})

remote处可以填写jsp路径或者html路径,用来给modal框注入内容

2.3、动态打开事件:

在modal框加载同时,提供几个方法用来控制modal框

$("#myModal").on("loaded.bs.modal",function{
//在模态框加载的同时做一些动作
});
$("#myModal").on("show.bs.modal",function{
//在show方法后调用
});
$("#myModal").on("shown.bs.modal",function{
//在模态框完全展示出来做一些动作
});
$("#myModal").on("hide.bs.modal",function{
//hide方法后调用
});
$("#myModal").on("hiden.bs.modal",function{
//监听模态框隐藏事件做一些动作
});

2.4、解决remote只加载一次问题:

我们在使用js动态打开modal框使用remote请求数据,只会加载一次数据,所以我们需要在每次打开modal框钱移除节点数据。

解决方案:

$("#myModal").on("hiden.bs.modal",function{
$(this).removeData("bs.modal");
});

2.5、解决事件监听多次:

第一次打开modal框正常,第二次,第三次,第n次打开就有可能会出现事件监听多次的奇怪问题(尤其是多个modal窗口叠加,出现这种问题的几率更高,我大致判断有可能是组件bug),所以无奈之举的办法,只适合应急使用:就是强行让他只调用监听一次

int count = 0 ;
$("#myModal").on("loaded.bs.modal",function{
if(++count == 1){
//调用你需要的方法
}
//在模态框加载的同时做一些动作
});

总结:modal框是个很好用的组件,不过官方文档提醒最好不要多个modal叠加很容易出现很难解决的前端组件问题。

以上所述是小编给大家介绍的浅析BootStrap中Modal(模态框)使用心得,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# bootstrap  # modal  # 模态框  # modal模态框  # 页面遮罩层  # 并且阻止页面body滚动。bootstrap模态框原理  # Bootstrap每天必学之模态框(Modal)插件  # Bootstrap 模态框(Modal)带参数传值实例  # bootstrap模态框消失问题的解决方法  # Bootstrap模态框(modal)垂直居中的实例代码  # 在iframe中使bootstrap的模态框在父页面弹出问题  # bootstrap 模态框(modal)实现水平垂直居中显示  # BootStrap 模态框实现刷新网页并关闭功能  # Bootstrap模态框禁用空白处点击关闭  # Bootstrap实现模态框效果  # 模态  # 加载  # 多个  # 小编  # 官网  # 几个  # 是个  # 在这里  # 尤其是  # 很难  # 有可能  # 就有  # 在此  # 您可以  # 要在  # 很容易  # 只会  # 更高  # 给大家  # 弹出 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: jQuery中的100个技巧汇总  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  南京网站制作费用,南京远驱官方网站?  lovemo网页版地址 lovemo官网手机登录  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  如何将凡科建站内容保存为本地文件?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何用PHP快速搭建CMS系统?  Laravel如何处理和验证JSON类型的数据库字段  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  Laravel如何使用模型观察者?(Observer代码示例)  高防服务器租用指南:配置选择与快速部署攻略  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  西安专业网站制作公司有哪些,陕西省建行官方网站?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  PHP 500报错的快速解决方法  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  ,南京靠谱的征婚网站?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Python文件流缓冲机制_IO性能解析【教程】  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  三星网站视频制作教程下载,三星w23网页如何全屏?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  利用python获取某年中每个月的第一天和最后一天  bing浏览器学术搜索入口_bing学术文献检索地址  如何快速生成橙子建站落地页链接?  iOS发送验证码倒计时应用  太平洋网站制作公司,网络用语太平洋是什么意思?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Laravel中的withCount方法怎么高效统计关联模型数量  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Android自定义listview布局实现上拉加载下拉刷新功能  php 三元运算符实例详细介绍  Laravel模型事件有哪些_Laravel Model Event生命周期详解  如何在建站主机中优化服务器配置?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  JS弹性运动实现方法分析