整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          每日分享- 正確的使用 Bootstrap3 模態框

          用Bootstrap3模態框,可以在網頁中以彈窗的形式展示內容,常用于顯示消息、表單、圖片等。

          下面介紹幾種常見的使用方法:

          1 基本用法

          在網頁中添加一個觸發模態框的按鈕,并在按鈕的data-toggle屬性中指定模態框的ID。然后在網頁中添加一個與按鈕ID相同的模態框,并在模態框中添加內容。

          <!-- 觸發模態框的按鈕 -->
          <button type="button" class="btn btn-primary" 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">×</span></button>
                  <h4 class="modal-title">模態框標題</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-dialog -->
          </div><!-- /.modal -->
          

          2 通過JavaScript調用模態框

          可以通過JavaScript代碼來調用模態框,這種方法可以在不使用按鈕的情況下觸發模態框。

          <!-- 觸發模態框的按鈕 -->
          <button type="button" class="btn btn-primary" onclick="showModal()">
            點擊彈出模態框
          </button>
          
          <!-- 模態框 -->
          <div class="modal fade" id="myModal" tabindex="-1" role="dialog">
            <!-- 省略模態框內容 -->
          </div>
          
          <!-- JavaScript代碼 -->
          <script>
          function showModal() {
            $('#myModal').modal('show');
          }
          </script>
          

          3 Ajax載入模態框內容

          可以通過Ajax技術動態載入模態框中的內容。

          <!-- 觸發模態框的按鈕 -->
          <button type="button" class="btn btn-primary" onclick="loadModalContent()">
            點擊彈出模態框
          </button>
          
          <!-- 模態框 -->
          <div class="modal fade" id="myModal" tabindex="-1" role="dialog">
            <div class="modal-dialog" role="document">
              <div class="modal-content">
                <div class="modal-body" id="modal-body">
                  模態框內容將通過Ajax動態載入
                </div>
              </div><!-- /.modal-content -->
            </div><!-- /.modal-dialog -->
          </div><!-- /.modal -->
          
          <!-- JavaScript代碼 -->
          <script>
          function loadModalContent() {
            $('#myModal').modal('show');
            $('#modal-body').load('/path/to/modal-content.html');
          }
          </script>
          

          潛在問題

          在使用Bootstrap3模態框時,可能會出現以下潛在問題:

          • 模態框無法顯示

          如果模態框無法顯示,可能是因為模態框的HTML代碼或JavaScript代碼有誤,或者相關的Bootstrap庫文件沒有正確引入。解決方法包括檢查代碼是否正確、檢查庫文件是否正確引入、檢查模態框相關的CSS樣式是否正確等。

          • 模態框出現閃爍

          如果模態框出現閃爍,可能是因為模態框的內容過多,導致模態框出現滾動條,從而造成頁面抖動。解決方法包括減少模態框的內容、優化模態框的樣式、禁止頁面滾動等。

          • 模態框無法關閉

          如果模態框無法關閉,可能是因為模態框的JavaScript代碼有誤,或者模態框的HTML代碼中的關閉按鈕沒有正確綁定關閉事件。解決方法包括檢查JavaScript代碼是否正確、檢查關閉按鈕的data-dismiss屬性是否正確等。

          • 模態框的顯示效果不符合預期

          如果模態框的顯示效果不符合預期,可能是因為模態框的CSS樣式沒有正確設置。解決方法包括檢查CSS樣式是否正確設置、參考Bootstrap官方文檔調整樣式等。

          為避免這些潛在問題,可以注意以下幾點:

          • 正確引入Bootstrap庫文件

          在使用Bootstrap3模態框時,需要正確引入相關的庫文件,包括Bootstrap的CSS樣式文件和JavaScript代碼文件。可以參考Bootstrap官方文檔了解如何引入庫文件。

          • 檢查HTML代碼和JavaScript代碼

          在使用Bootstrap3模態框時,需要檢查HTML代碼和JavaScript代碼是否正確。可以使用瀏覽器的開發者工具來檢查代碼是否存在語法錯誤、是否正確綁定事件等。

          • 盡量減少模態框的內容

          為避免模態框出現閃爍等問題,可以盡量減少模態框的內容。如果模態框的內容過多,可以考慮使用分頁、滾動條等方式來優化模態框的顯示效果。

          • 參考Bootstrap官方文檔調整樣式

          如果模態框的顯示效果不符合預期,可以參考Bootstrap官方文檔來調整相關的CSS樣式。可以使用瀏覽器的開發者工具來調試樣式,或者查閱Bootstrap官方文檔了解如何調整樣式。

          天給大家推薦一款超美觀的pc端vue.js彈窗組件VueJsModal。

          vue-js-modal 基于Vue構建的Modal對話框組件。單獨組件,方便使用。支持拖拽、縮放、異步調用組件。

          安裝

          $ npm i vue-js-modal -S

          引入組件

          // 在main.js中引入
          import Vue from 'vue'
          import VModal from 'vue-js-modal'
          import 'vue-js-modal/dist/styles.css'
          Vue.use(VModal)

          調用方式

          <template>
            <modal name="example"
              :width="300"
              :height="300"
              :resizable="true"
              :draggable="true"
              :adaptive="true"
              @before-open="beforeOpen"
              @opened="Opened"
              @before-close="beforeClose"
              @closed="Closed"
            >
              Hello, VueModal!
            </modal>
          </template>
          <script>
          export default {
            data() {
              return {}
            },
            mounted() {
              this.$modal.show('example')
            },
            methods: {
              beforeOpen(event) {
                console.log('Opening...')
              },
              Opened(event) {
                console.log('Opened...')
              },
              beforeClose(event) {
                console.log('Closing...')
              },
              Closed(event) {
                console.log('Closed...')
              }
            }
          }
          </script>

          調用內部 show、hide 方法顯示和隱藏彈窗

          <template>
            <modal name="my-first-modal">
              This is my first modal
            </modal>
          </template>
          
          <script>
          export default {
            mounted () {
              this.show()
            },
            methods: {
              show () {
                this.$modal.show('my-first-modal');
              },
              hide () {
                this.$modal.hide('my-first-modal');
              }
            }
          }
          </script>

          另外還支持Modal動態調用組件

          import MyComponent from './MyComponent.vue'
          this.$modal.show(
            MyComponent,
            { text: 'This text is passed as a property' },
            { draggable: true }
          )
          
          // or
          
          this.$modal.show(
            {
              template: `
                <div>
                  <h1>This is created inline</h1>
                  <p>{{ text }}</p>
                </div>
              `,
              props: ['text']
            },
            { text: 'This text is passed as a property' },
            { draggable: true, resizable: true },
            { 'before-close': event => {} }
          )


          附上模態框示例及倉庫地址

          # demo地址
          http://vue-js-modal.yev.io/
          
          # 項目地址
          https://github.com/euvl/vue-js-modal

          ok,這次就分享到這里。如果大家有其它Vue彈窗組件,歡迎留言討論~

          bootstrap框架中,使用模態框(modal)的彈窗組件需要三層 div 容器元素,分別為:

          1. 外層:modal(模態聲明層)。

          2. 中間層:dialog(窗口聲明層)。

          3. 內層:content(內容層)。在內容層里面,還包含三層,分別為 header(頭部)、body(主體)、footer(注腳)。

          案例效果如下:

          說明:案例中設置按鈕的數據切換方式(data-toggle)是modal,數據目標(data-target)指向模態框的id(mod1)。

          網頁文件modal.html的代碼如下:

          <!doctype html>

          <html>

          <head>

          <meta charset="utf-8">

          <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

          <title>模態框插件</title>

          <link rel="stylesheet" href="css/bootstrap.css">

          <style type="text/css">

          *{

          margin:0px;

          padding:0px;

          }

          body{

          font-size:14px;

          }

          </style>

          </head>

          <body>

          <!--tabindex="-1"表示關閉焦點,使得按esc鍵也可以關閉打開的對話框 -->

          <div class="modal fade" id="mod1" tabindex="-1">

          <div class="modal-dialog modal-sm">

          <div class="modal-content">

          <div class="modal-header">

          <button class="close" data-dismiss="modal"><span>&times;</span></button>

          <h4 class="modal-title">用戶登陸</h4>

          </div>

          <div class="modal-body">

          <div class="input-group">

          <span class="input-group-addon">用戶名:</span>

          <input type="text" class="form-control" placeholder="請輸入用戶名">

          </div>

          <p></p>

          <div class="input-group">

          <span class="input-group-addon">密&nbsp;&nbsp;&nbsp;&nbsp;碼:</span>

          <input type="password" class="form-control" placeholder="請輸入密碼">

          </div>

          </div>

          <div class="modal-footer">

          <button class="btn btn-default">注冊</button>

          <button class="btn btn-primary">登陸</button>

          </div>

          </div>

          </div>

          </div>

          <hr>

          <button class="btn btn-primary" data-toggle="modal" data-target="#mod1">用戶登陸</button>

          <script src="js/jquery-3.1.1.min.js"></script>

          <script src="js/bootstrap.js"></script>

          </body>

          </html>

          至此,案例制作完成。


          主站蜘蛛池模板: 国产韩国精品一区二区三区久久| 久久精品岛国av一区二区无码| 国产熟女一区二区三区四区五区| 水蜜桃av无码一区二区| 国产一区二区三区小说| 精品国产一区二区三区久久 | 成人精品一区二区三区电影| 精品日本一区二区三区在线观看| 国产一区在线mmai| 好湿好大硬得深一点动态图91精品福利一区二区 | 精品国产一区二区三区在线| 无码视频一区二区三区在线观看 | 中文字幕一区二区三区日韩精品| 农村乱人伦一区二区| 久久无码人妻精品一区二区三区| 无码中文字幕乱码一区| 国产精品日本一区二区不卡视频| 亚洲av区一区二区三| 国产一区二区三区在线观看影院| 曰韩人妻无码一区二区三区综合部 | 亚洲一区二区三区在线观看网站 | 亚洲另类无码一区二区三区| 久久久久人妻一区二区三区| 亚洲国产一区二区a毛片| 久久一本一区二区三区| 亚洲国产综合无码一区| 中文字幕人妻丝袜乱一区三区 | 精品久久综合一区二区| 国产午夜精品一区二区三区极品 | 一区二区三区在线| 亚洲一区二区精品视频| 国产在线一区二区三区在线| 国产在线观看一区二区三区 | 亚洲色无码专区一区| 国产一区三区二区中文在线| 精品视频午夜一区二区| 国产一区二区三区美女| 乱色熟女综合一区二区三区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 视频一区二区三区在线观看| 国产成人综合亚洲一区|