Bootstrap框架-弹框,属性控制与js控制(基础)

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Bootstrap 弹框</title>

  <!-- 引入bootstrap.css -->

  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet">

</head>

<!-- 用JS控制的方式控制Bootstrap弹框 -->

<body>

  <!--

    目标:使用JS控制弹框,显示和隐藏

    1. 创建弹框对象

    2. 调用弹框对象内置方法

      .show() 显示

      .hide() 隐藏

      因为要在点击保存按钮之后才关闭,就不能直接设置一个关闭属性,通过js实现先获取值再关闭的操作

   -->

  <button type="button" class="btn btn-primary edit-btn">

    编辑姓名

  </button>

  <div class="modal name-box" tabindex="-1">

    <div class="modal-dialog">

      <div class="modal-content">

        <div class="modal-header">

          <h5 class="modal-title">请输入姓名</h5>

          <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>2

        </div>

        <div class="modal-body">

          <form action="">

            <span>姓名:</span>

            <input type="text" class="username">

          </form>

        </div>

        <div class="modal-footer">

          <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">取消</button>

          <button type="button" class="btn btn-primary save-btn">保存</button>

        </div>

      </div>

    </div>

  </div>

  <!-- 引入bootstrap.js -->

  <!-- 引入了js才可以用JS控制弹框 -->

  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.min.js"></script>

  <script>

    // 1. 创建弹框对象

    const modalDom = document.querySelector('.name-box')

    // 把盒子封装成一个对象

    const modal = new bootstrap.Modal(modalDom)

    // 调用bootstrap.model方法

    // Model里面要是一个对象

    // 编辑姓名->点击->赋予默认姓名->弹框显示

    document.querySelector('.edit-btn').addEventListener('click', () => {

      document.querySelector('.username').value = '默认姓名'

      // 2. 显示弹框

      modal.show()

    })

    // 保存->点击->->获取姓名打印->弹框隐藏

    document.querySelector('.save-btn').addEventListener('click', () => {

      const username = document.querySelector('.username').value

      console.log('模拟把姓名保存到服务器上', username)

      // 2. 隐藏弹框

      modal.hide()

    })

  </script>

  <!-- 用属性控制的方式 -->

   <!--

    目标:使用Bootstrap弹框

    1. 引入bootstrap.css 和 bootstrap.js

    2. 准备弹框标签,确认结构

    3. 通过自定义属性,控制弹框的显示和隐藏

   -->

   <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target=".my-box">

    <!-- data-bs-toggle="modal" 点击就出现弹框 -->

    <!-- data-bs-target=".my-box" 控制出现的是哪个弹框 -->

    显示弹框

  </button>

  <!--

    弹框标签

    bootstrap的modal弹框,添加modal类名(默认隐藏)

   -->

  <div class="modal my-box" tabindex="-1">

    <div class="modal-dialog">

      <!-- 弹框-内容 -->

      <div class="modal-content">

        <!-- 弹框-头部 -->

        <div class="modal-header">

          <h5 class="modal-title">Modal title</h5>

          <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>

        </div>

        <!-- 弹框-身体 -->

        <div class="modal-body">

          <p>Modal body text goes here.</p>

        </div>

        <!-- 弹框-底部 -->

        <div class="modal-footer">

          <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>

          <button type="button" class="btn btn-primary">Save changes</button>

        </div>

      </div>

    </div>

  </div>

</body>

</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小程序员.¥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值