Bootstrap框架(JavaScript组件)上

简介: Bootstrap框架(JavaScript组件)

前言


上一章博客我们讲解了Bootstrap的组件

这一章我们来讲一下一些JavaScript组件


一,JavaScript插件简介


  • 为什么需要JavaScript插件?
  • 项目中遇到复杂的交互效果,如轮播图、模态框等可以使用JavaScript插件轻松完成
  • 插件的引入方式
  • data属性
  • data属性让JavaScript插件使用门槛降低


二,插件的引入方式


  • 一次性全部插件引入
  • 通过将bootstrap.js或者bootstrap.min.js引入可实现一次性全部引入
  • 按需单个引入插件
  • 使用Bootstrap框架提供的单个“*.js”文件,只引入某一个插件使用


三,data属性


  • JavaScript插件可以不写任何的JavaScript代码就能实现动态效果
  • 只需要按照data属性去操作即可


data属性有很多,这些属性都是在data后紧跟一些名词,例如比较常用的data-toggle、data-target、data-dismiss等


  • JavaScript插件的使用方法
  • 使用data属性来调用JavaScript插件
  • 使用原生代码来调用JavaScript插件


考虑到使用的方便性和快捷性,比较推荐使用data属性来调用JavaScript插件


四,关闭data属性


  • 需自己封装data属性功能,希望Bootstrap框架的data属性不影响自己封装的功能时,需要将Bootstrap框架的data属性关闭

语法

$(document).off('.data-api');
  • 如何只针对某个特定的插件将data属性关闭?
  • 只需在 data-api 前面添加特定插件的名称作为命名空间

语法

// 关闭旋转轮播插件的data属性
$(document).off('.carousel.data-api');


五,过渡插件


  • Bootstrap使用的动画过渡效果都是基于CSS3动画来制作的,所以IE6-IE8浏览器不能使用过渡效果


如果使用压缩版的 bootstrap.min.js 文件,则无需再单独引入过渡插件,因为此时过渡插件的功能已经融入到其他插件中


  • 过渡插件严格意义上不是一个标准的插件,是针对transitionEnd 事件的一个基本辅助工具
  • 常被其他插件用来检测当前浏览器是否支持 CSS 的过渡效果
  • 过渡效果可以在全局范围禁用,必须将禁用代码放在 transition.js (或 bootstrap.min.js)后面


语法

$.support.transition = false;


六,模态框


  • 模态框(Modal)是覆盖在父窗体上的子窗体
  • 目的是显示来自一个单独源的内容,可以在不离开父窗体的情况下有一些互动
  • 模态框组成部分
  • 模态框包含头部(模态框标题和关闭按钮)、中间内容区域和一组放置于底部的按钮


示例


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>模态框</title>
    <link rel="stylesheet" href="../css/bootstrap.min.css">
</head>
<style>
</style>
<body>
    <!-- Button trigger modal -->
    <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
        显示模态框
    </button>
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog">
        <div class="modal-dialog" role="document">
          <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title">Modal title</h4>
                </div>
                <div class="modal-body">
                    <form class="form-inline" action="#">
                        <div class="form-group">
                            <label for="user">用户名:</label>
                            <input type="text" class="form-control" id="user" placeholder="请输入用户名">
                        </div>
                        <div class="form-group">
                            <label for="pwd">密码:</label>
                            <input type="password" class="form-control" id="pwd" placeholder="请输入密码"> 
                        </div>
                        <input type="submit" class="form-control" value="登录">
                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary">Save changes</button>
                </div>
            </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
</body>
<script src="../js/jquery.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
</script>
</html>

329fb574cfef64a49d38de5c2f597cae_0b0c46659af547f5a588911057e7f9cd.png

754841c64dcd7da887115afb93984add_54efe2c8412f40e7b63245f184ff88aa.png

注意

data-target="#myModal" 里面的 #myModal 要和 下面的id对应


  • 千万不要在一个模态框上重叠另一个模态框,否则不会有效果
  • 务必将模态框的 HTML 代码放在文档的最高层级内(作为 body 元素的直接子元素),避免其他组件影响模态框的展现和功能


6.1,JavaScript操作模态框


  • 除data属性之外,也可以使用JavaScript操作模态框


  • 只需一行 JavaScript 代码


  • 通过模态框的id调用模态框方法操作模态框
  • JavaScript操作模态框


  • 模态框属性
  • 模态框方法
  • 模态框事件


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>模态框</title>
    <link rel="stylesheet" href="../css/bootstrap.min.css">
</head>
<style>
</style>
<body>
    <button type="button" class="btn btn-primary btn-lg" id="jsbtn">
        js模态框
    </button><br>
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog">
        <div class="modal-dialog" role="document">
          <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title">Modal title</h4>
                </div>
                <div class="modal-body">
                    <form class="form-inline" action="#">
                        <div class="form-group">
                            <label for="user">用户名:</label>
                            <input type="text" class="form-control" id="user" placeholder="请输入用户名">
                        </div>
                        <div class="form-group">
                            <label for="pwd">密码:</label>
                            <input type="password" class="form-control" id="pwd" placeholder="请输入密码"> 
                        </div>
                        <input type="submit" class="form-control" value="登录">
                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary">Save changes</button>
                </div>
            </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
</body>
<script src="../js/jquery.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
    $("#jsbtn").click(function(){
        $('#myModal').modal('show')
    })
</script>
</html>

8366e420adf937764d7ae60a237bd45e_30acccced2b24dcd9d34cf99a53ecd3b.png


6.2,模态框属性

通过JavaScript可以操作模态框属性

fff1eec753e3547e2561b320b5d03d93_4d25f05d16814eeb8f478f4b96970b11.png


6.3,模态框方法

  • 模态框支持传入特定的字符串执行其内部方法
  • 常用的字符串名称和用法的描述

f537231919c57b394c5ae1ae309d34ba_455eba71ba3c4a09a6687807f407ebf5.png


6.4,模态框事件

  • 在实际的开发中,有时候希望在模态框弹出之前或者之后执行一些特定的操作,该如何来操作呢?
  • 模态框提供一些事件用于监听模态框执行的过程,在这些过程中开发者可以执行自定义的代码
  • 模态框事件

2aedde5ca0979a1345b44e88a6ce38d6_ad140714b40e4275b2bfeb502a49032d.png


相关文章
|
1月前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
9天前
|
前端开发 安全 API
Qwen-coder实现本地 RAG 框架能力Bootstrap
本文介绍了如何利用Qwen-coder在本地实现RAG框架能力提升,解决了企业知识库管理中的数据安全和半结构化文档处理问题。通过Qwen2.5-72b模型和多轮对话推理,成功实现了对包含图表内容的文档的高效预处理,提升了知识库检索的准确性和安全性。
|
28天前
|
缓存 监控 JavaScript
Vue.js 框架下的性能优化策略与实践
Vue.js 框架下的性能优化策略与实践
|
28天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
36 2
|
29天前
|
缓存 负载均衡 JavaScript
构建高效后端服务:Node.js与Express框架实践
在数字化时代的浪潮中,后端服务的重要性不言而喻。本文将通过深入浅出的方式介绍如何利用Node.js及其强大的Express框架来搭建一个高效的后端服务。我们将从零开始,逐步深入,不仅涉及基础的代码编写,更会探讨如何优化性能和处理高并发场景。无论你是后端新手还是希望提高现有技能的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
1月前
|
JavaScript 前端开发 开发者
JavaScript框架React vs. Vue:一场性能与易用性的较量
JavaScript框架React vs. Vue:一场性能与易用性的较量
34 0
N..
|
7月前
|
开发框架 前端开发 UED
Bootstrap的CSS组件
Bootstrap的CSS组件
N..
70 0
|
前端开发 容器
|
前端开发 容器
|
前端开发 开发者 容器