您好,登錄后才能下訂單哦!
本文章向大家介紹使用BootStrap怎么實現一個模態框功能的基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。
Bootstrap是目前最受歡迎的前端框架,它是基于 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更加快捷,它還有一個響應最好的Grid系統,并且能夠在手機端通用,而Bootstrap是使用許多可重用的CSS和JavaScript組件,可以幫助實現需要的幾乎任何類型的網站的功能,此外,所有這些組件都是響應式的。
bootstrap中的模態框(modal),不同于Tooltips,模態框以彈出對話框的形式出現,具有最小和最實用的功能集。務必將模態框的 HTML 代碼放在文檔的最高層級內(也就是說,盡量作為 body 標簽的直接子元素),以避免其他組件影響模態框的展現或功能。
默認的modal示例:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap Modal</title> <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"> </head> <body> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> Launch demo modal </button> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <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">×</span> </button> <h5 class="modal-title" id="myModalLabel">Modal title</h5> </div> <div class="modal-body"> <p>One fine body…</p> </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</button> </div> </div> </div> </div> <script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> <script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> </body> </html>
為 .modal 添加 role="dialog
",用于指定模態框為對話框。為 .modal-dialog
添加 aria-hidden="true"
屬性。通過 aria-describedby 屬性為模態框 .modal 添加描述性信息。關閉動畫如果你不需要模態框彈出時的動畫效果(淡入淡出效果),刪掉 .fade 類即可。
通過按鈕屬性顯示不同內容當有一堆按鈕,都要觸發相同的模態框(如:向好友列表中某個人發消息),只是有用戶ID不同,那么可以使用data-whatever配合event.relatedtarget來實現:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap Modal</title> <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"> </head> <body> <div class="panel panel-default"> <div class="panel-heading">好友列表</div> <div class="panel-body"> <div class="list-group" role="group" aria-label="好友列表"> <button type="button" class="list-group-item" data-toggle="modal" data-target="#exampleModal" data-whatever="張三">張三 </button> <button type="button" class="list-group-item" data-toggle="modal" data-target="#exampleModal" data-whatever="李四">李四 </button> <button type="button" class="list-group-item" data-toggle="modal" data-target="#exampleModal" data-whatever="王二">王二 </button> </div> </div> </div> <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"> <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">×</span></button> <h5 class="modal-title" id="exampleModalLabel">New message</h5> </div> <div class="modal-body"> <form> <div class="form-group"> <label for="recipient-name" class="control-label">Recipient:</label> <input type="text" class="form-control" id="recipient-name"> </div> <div class="form-group"> <label for="message-text" class="control-label">Message:</label> <textarea class="form-control" id="message-text"></textarea> </div> </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">Send message</button> </div> </div> </div> </div> <script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> <script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <script> $('#exampleModal').on('show.bs.modal', function (event) { var button = $(event.relatedTarget) // 觸發事件的按鈕 var recipient = button.data('whatever') // 解析出data-whatever內容 var modal = $(this) modal.find('.modal-title').text('Message To ' + recipient) modal.find('.modal-body input').val(recipient) }) </script> </body> </html>
通常不需寫 JavaScript 代碼也可激活模態框。通過在一個起控制器作用的元素(例如:按鈕)上添加 data-toggle="modal"
屬性,或者 data-target="#foo"
屬性,再或者 href="#foo" rel="external nofollow" 屬性,用于指向被控制的模態框。通過JavaScript調用modal通常只需一行 JavaScript 代碼,即可通過元素的 id myModal 調用模態框:
$('#myModal').modal(options)
JavaScript參數:
可以將選項通過 data 屬性或 JavaScript 代碼傳遞。對于 data 屬性,需要將參數名稱放到 data- 之后,例如 data-backdrop=""。
調用示例
1.將頁面中的某塊內容作為模態框激活。
接受可選參數 object。
$('#myModal').modal({ keyboard: false })
2.手動打開或關閉模態框。在模態框顯示或隱藏之前返回到主調函數中(也就是,在觸發 shown.bs.modal 或 hidden.bs.modal 事件之前)。$('#myModal').modal('toggle')
3.手動打開模態框。在模態框顯示之前返回到主調函數中 (也就是,在觸發 shown.bs.modal 事件之前)。$('#myModal').modal('show')
4.手動隱藏模態框。在模態框隱藏之前返回到主調函數中 (也就是,在觸發 hidden.bs.modal 事件之前)。$('#myModal').modal('hide')
5.更新模態框,在模態框動態添加或刪除內容時:$('#myModal').modal('handleUpdate')
綁定事件
Bootstrap 的模態框類提供了一些事件用于監聽并執行你自己的代碼。
如:
$('#myModal').on('hidden.bs.modal', function (e) { // do something... })
以上就是小編為大家帶來的使用BootStrap怎么實現一個模態框功能的全部內容了,希望大家多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。