Ajax-day2(圖書管理)-彈框顯示和隱藏

Bootstrap 彈框

  • 圖書管理-Bootsrap 彈框
  • (一)屬性控制
    • 一、模板代碼
    • 二、彈框模板
    • 三、bootsrap 的顯示彈框屬性
    • 完整代碼
  • (二)JS 控制
    • 一、模板代碼
    • 二、步驟


圖書管理-Bootsrap 彈框

  1. Bootstrap 框架
  2. 渲染列表(查)
  3. 新增圖書(增)
  4. 刪除圖書(刪)
  5. 編輯圖書(改)

(一)屬性控制

功能:不離開當前頁面,顯示單獨內容,供用戶操作。

  1. 引入bootstrap.css 和 bootstrap.js

  2. 準備彈框標簽,確認結構

  3. 通過自定義屬性,控制彈框的顯示隱藏

一、模板代碼

(已引入 bootstrap 的 css 和 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.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
</head><body><!-- 目標:使用Bootstrap彈框1. 引入bootstrap.css 和 bootstrap.js2. 準備彈框標簽,確認結構3. 通過自定義屬性,控制彈框的顯示和隱藏--><button type="button" class="btn btn-primary">顯示彈框</button><!-- 引入bootstrap.js --><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.min.js"></script>
</body></html>

二、彈框模板

Bootstrap Modal:https://www.getbootstrap.cn/docs/5.0/components/modal/

找到彈框模板,并copy代碼:

在這里插入圖片描述

<div class="modal" 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>

可是我們把這一段代碼加入后,頁面中并沒有出現彈框,是什么原因呢?
F12,找到彈框標簽,查看樣式:
發現 display:none;
在這里插入圖片描述

在這里插入圖片描述

取消勾選后,彈框出現啦!

bootstrap 的 modal 彈框:添加 model 類名(默認隱藏)

三、bootsrap 的顯示彈框屬性

<button data-bs-toggle="modal" data-bs-target="CSS選擇器">顯示彈框
</button><button data-bs-dismiss="modal">Close</button>

(1)顯示彈框
給彈框標簽加一個自定義類名“my-box”(就是我們剛剛引入的 bootstrap 彈框模板)

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

顯示彈框的效果(給按鈕加入顯示彈框的屬性):

<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target=".my-box">顯示彈框
</button>

alt+B——點擊按鈕——彈框出現~

(2)關閉彈框
找到”彈框-頭部“的右上角關閉按鈕,
加入關閉彈框的屬性。(模板已經加入啦,我們就不用寫啦~)
data-bs-dismiss="modal"

      <-- 彈框-頭部 --><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>

找到彈框底部的”Close“按鈕,加入關閉彈框的屬性。
(模板也寫好啦,我們也不用寫啦~)

<-- 彈框-底部 -->
<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>

完整代碼

<!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.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
</head><body><!-- 目標:使用Bootstrap彈框1. 引入bootstrap.css 和 bootstrap.js2. 準備彈框標簽,確認結構3. 通過自定義屬性,控制彈框的顯示和隱藏--><button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target=".my-box">顯示彈框</button><!-- 彈框標簽 --><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><!-- 引入bootstrap.js --><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.min.js"></script>
</body></html>

(二)JS 控制

// 創建彈框對象
const modalDom = document.querySelector('CSS選擇器')
const modal = new bootstrap.Modal(modalDom)// 顯示彈框
modal.show()//隱藏彈框
modal.hide()

一、模板代碼

<!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.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
</head><body><!-- 目標:使用JS控制彈框,顯示和隱藏1. 創建彈框對象2. 調用彈框對象內置方法.show() 顯示.hide() 隱藏--><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></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 --><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.min.js"></script></body></html>

二、步驟

1.創建彈框對象

<script>const modalDom = document.querySelector('.name-box')const modal = new bootstrap.Modal(modalDom)
</script>

2.顯示和隱藏彈框(事件監聽)

// 編輯姓名->點擊->彈框顯示
document.querySelector('.edit-btn').addEventListener
('click',() => {// 2.顯示彈框modal.show()
})// 保存->點擊->彈框隱藏
document.querySelector('.save-btn').addEventListener
('click',() => {// 隱藏彈框modal.hide()
})

3.在顯示彈框之前,賦予默認姓名;
在隱藏彈框之前,獲取姓名并打印

  <script>// 1.創建彈框對象const modalDom = document.querySelector('.name-box')const modal = new bootstrap.Modal(modalDom)// 編輯姓名->點擊->賦予默認姓名->彈框顯示document.querySelector('.edit-btn').addEventListener('click',() => {document.querySelector('.username').value = '默認姓名'// 2.顯示彈框modal.show()})// 保存->點擊->獲取姓名并打印->彈框隱藏document.querySelector('.save-btn').addEventListener('click',() => {const username = document.querySelector('.username').valueconsole.log('模擬把姓名保存到服務器上:',username)// 隱藏彈框modal.hide()})</script>

在這里插入圖片描述

在這里插入圖片描述

點擊”保存“
在這里插入圖片描述
控制臺輸出啦~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/923603.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/923603.shtml
英文地址,請注明出處:http://en.pswp.cn/news/923603.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Linux網絡】認識https

認識https一&#xff0c;概念鋪墊1.1 什么是加密&#xff1f;1.2 為什么要加密&#xff1f;1.3 加密的方式1.4 數據摘要&數據指紋二&#xff0c;認識https2.1 方案1-只使用對稱加密2.2 方案2-只使用非對稱加密2.3 方案3-雙方都使用非對稱加密2.4 方案4-非對稱加密對稱加密2…

OC-AFNetworking

文章目錄AFNetworking簡介問題&#x1f914;優化策略解決AFNetworking局限性使用單例進行網絡請求的優勢使用單例進行網絡請求的風險最優使用使用參數講解POST請求AFNetworking 簡介 這篇文章旨在實現使用AFNetworking設置一個集中的單通道網絡對象&#xff0c;該對象與MVC組建…

【數據結構】跳表

目錄 1.什么是跳表-skiplist 2.skiplist的效率如何保證&#xff1f; 3.skiplist的實現 3.1節點和成員設計 3.2查找實現 3.3前置節點查找 3.4插入實現 3.5刪除實現 3.6隨機層數 3.7完整代碼 4.skiplist跟平衡搜索樹和哈希表的對比 1.什么是跳表-skiplist skiplist是由…

html實現右上角有個圖標,鼠標移動到該位置出現手型,點擊會彈出登錄窗口。

寫了一段html代碼實現的效果&#xff1a;實現右上角有個圖標&#xff0c;鼠標移動到該位置出現手型&#xff0c;點擊會彈出登錄窗口。功能實現前端&#xff0c;沒有實現后端。<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF…

STM32G4 電流環閉環(二) 霍爾有感運行

目錄一、STM32G4 電流環閉環(二) 霍爾有感運行2. 霍爾有感運行附學習參考網址歡迎大家有問題評論交流 (* ^ ω ^)一、STM32G4 電流環閉環(二) 霍爾有感運行 2. 霍爾有感運行 文章使用的BLDC在定子側以互差120電角度的位置安裝三個霍爾元件Ha&#xff0c;Hb&#xff0c;Hc。當…

展示框選擇

好的&#xff0c;非常感謝您提供更詳細的項目情況。這是一個非常典型的父子組件通信場景。 根據您的新需求&#xff0c;我將對代碼進行重構&#xff1a; FaultSelect.vue (子組件): 這個組件現在將變得更加“純粹”。它只負責自身的下拉框邏輯&#xff0c;不關心外部按鈕&#…

第5課:上下文管理與狀態持久化

第5課:上下文管理與狀態持久化 課程目標 掌握上下文存儲和檢索策略 學習會話狀態管理 了解數據持久化方案 實踐實現上下文管理系統 課程內容 5.1 上下文管理基礎 什么是上下文管理? 上下文管理是Agent系統中維護和利用歷史信息的能力,包括: 對話歷史:用戶與Agent的交互…

計算機畢業設計 基于大數據技術的醫療數據分析與研究 Python 大數據畢業設計 Hadoop畢業設計選題【附源碼+文檔報告+安裝調試】

博主介紹&#xff1a;?從事軟件開發10年之余&#xff0c;專注于Java技術領域、Python、大數據、人工智能及數據挖掘、小程序項目開發和Android項目開發等。CSDN、掘金、華為云、InfoQ、阿里云等平臺優質作者? &#x1f345;文末獲取源碼聯系&#x1f345; &#x1f447;&…

K8S集群管理(2)

目錄 1.什么是Pod的根容器&#xff1f; 2.解釋Pod的生命周期。 3.Init類型容器有什么特點&#xff0c;主要用途&#xff1f; 4.Sidecar類型容器和Init容器的區別在哪&#xff1f; 5.什么是靜態Pod&#xff1f; 6.說明K8s控制器的作用&#xff1f; 7.什么是ReplicaSet&#xff0…

視頻全模態referring分割:Ref-AVS: Refer and Segment Objects in Audio-Visual Scenes

一、TL&#xff1b;DR 為什么要做&#xff1a;傳統的referring分割無法使用音頻模態&#xff0c;本文提出Reference audio-visual Segmentation本文怎么做&#xff1a;構建首個 Ref-AVS 基準數據集通過充分利用多模態提示&#xff0c;將音頻信息通過和文本融合作為載體&#x…

A股大盤數據-20250916分析

&#x1f4ca; 一、大盤數據深度分析1.1 &#x1f9ee; 市場活躍度與資金流向總成交額&#xff1a;滬深京合計約 2.37萬億元&#xff0c;市場交投活躍&#xff0c;深市成交&#xff08;13516.4億&#xff09;明顯高于滬市&#xff08;9897.9億&#xff09;&#xff0c;顯示中小…

[計算機畢業設計]基于深度學習的噪聲過濾音頻優化系統研究

前言 &#x1f4c5;大四是整個大學期間最忙碌的時光,一邊要忙著備考或實習為畢業后面臨的就業升學做準備,一邊要為畢業設計耗費大量精力。近幾年各個學校要求的畢設項目越來越難,有不少課題是研究生級別難度的,對本科同學來說是充滿挑戰。為幫助大家順利通過和節省時間與精力投…

貪心算法應用:NFV功能部署問題詳解

Java中的貪心算法應用&#xff1a;NFV功能部署問題詳解 1. NFV功能部署問題概述 網絡功能虛擬化(NFV, Network Function Virtualization)是一種將傳統網絡設備功能從專用硬件轉移到虛擬化軟件的技術。在NFV功能部署問題中&#xff0c;我們需要將各種虛擬網絡功能(VNFs)部署到有…

SeriLog測試

安裝Serilog.Sinks.Seq(5.2.3.0)&#xff0c;Serilog.Sinks.File(7.0.0) 下載Seq安裝包并安裝&#xff08;https://datalust.co/download&#xff09; 代碼如下&#xff1a; private Logger _logger;private void button1_Click(object sender, EventArgs e){_logger new Lo…

HarmonyOS 5.0應用開發——V2裝飾器@param的使用

【高心星出品】 文章目錄V2裝飾器param的使用概念使用方法案例V2裝飾器param的使用 概念 在鴻蒙ArkTS開發中&#xff0c;Param裝飾器是組件間狀態管理的重要工具&#xff0c;主要用于父子組件間的單向數據傳遞&#xff0c;這一點與V1中的prop類似。 Param裝飾的變量支持本地…

SLAM | 無人機視覺/激光雷達集群SLAM技術進展綜述

主要內容如下: 無人機集群SLAM技術概述:介紹無人機集群SLAM的基本概念、重要性及面臨的挑戰,使用表格對比不同傳感器配置的特點。 多傳感器融合與協同SLAM架構:分析集中式、分布式和混合式協同架構的特點,使用表格對比不同架構的優缺點。 視覺協同SLAM的技術進展:總結直接…

信息化系統運維文檔資料,運維服務方案,運維巡檢方案

1、系統服務內容?1.1 服務目標?1.2 信息資產統計服務?1.3 網絡與安全系統運維服務?1.4 主機與存儲系統運維服務?1.5 數據庫系統運維服務?1.6 中間件運維服務?2、服務管理制度規范?2.1 服務時間管理?2.2 運維人員行為規范?2.3 現場服務支持規范?2.4 問題記錄與歸檔規…

JavaScript——document對象

DOM 是 document object model&#xff08;文檔對象模型&#xff09;的縮寫。它是一種與平臺、語言無關的接口&#xff0c;允許程序動態地訪問或更新 HTML、XML 文檔的內容、結構和樣式&#xff0c;且提供了一系列的函數和對象來實現增、刪、改、查操作。DOM 對象的一個特點是&…

UART,IIC,SPI總線(通信協議)

嵌 入 式 軟 件 筆 試 題要求&#xff1a;閉卷考試&#xff08;不能翻書、不能開電腦&#xff09;&#xff1b;作答時間50分鐘&#xff1b;共10道題目。volatile的作用有哪些volatile&#xff1a; 防止編譯器對代碼進行優化&#xff0c;直接從內存中取最新的值 應用場景&#x…

通信模組性能調優

通信模組性能調優 1 背景 2 高通平臺軟硬加速 2.1 NSS 2.2 SFE 2.3 PPE 3 CPU 負載均衡設置 3.1 啟用內核 RPS&RFS 功能 3.2 網卡隊列修改建議 3.3 調整負載前后的 CPU 使用對比 3.4 網卡中斷均衡 3.4.1 netdev_max_backlog 3.4.2 中斷綁核 3.5 CPU性能模式 3.6 熱管理 3.7…