Bootstrap——可拖動模態框(Model)


還是上一個小項目,o(╥﹏╥)o,要實現點擊一個div或者button或者一個東西然后可以彈出一個浮在最上面的彈框。網上找了找,發現Bootstrap的Model彈出框可以實現該功能,因此學習了一下,實現了基本彈框功能(可拖動)。

代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>測試</title>
        <link href="./src/css/bootstrap.min.css" rel="stylesheet">
        <style>
            html,body{
                width: 100%;
                height: 100%;
                padding: 0;
                margin: 0;
            }
            .div_main{
                width: 100%;
                height: 100%;
                background: gray;
            }
            .bacstyle{
                /* background: red; */
                width: 1000px;
                height: 600px;
            }
            /*當觸發模態框時會產生一個陰影層覆蓋整個頁面,設置 modal-backdrop 可以去除陰影層*/
            .modal-backdrop {
                filter: alpha(opacity=0)!important;
                opacity: 0!important;
             }
        </style>
    </head>
    <body>
        <div class="div_main">
            <!-- botton按鈕有兩個屬性是data-toggle="model"   data-target="#myModel";第一個屬性代表我可以調取並展示一個模態框,第二個屬性表示我要展示的哪一個模態框,用id來標識-->
            <!-- data-backdrop="static"表示點擊空白的地方不會關閉彈窗-->
            <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" data-backdrop="static" >打開驚喜</button>

            <!-- class = "modal",用來把 <div> 的內容識別為模態框  class = "fade",當模態框被切換時,它會引起內容淡入淡出-->
            <!-- tabindex=-1代表此元素禁止使用鍵盤上的tab鍵對其導航,就是按tab鍵的時候,會跳過這個div    不設置tabindex的話,就會使Esc退出無效 -->
            <!-- role=“dialog”代表這是一個對話框 -->
            <!-- 屬性 aria-hidden="true" 用於保持模態窗口不可見,直到觸發器被觸發為止(比如點擊在相關的按鈕上) -->
            <div class="modal inmodal" id="myModal" role="dialog" aria-hidden="true">
                <div class="modal-dialog bacstyle">
                    <div class="modal-content" style="width: 100%;height: 100%;">
                        <!-- modal-header 是為模態窗口的頭部定義樣式的類 -->
                        <div class="modal-header" style="background: pink; width: 100%; height: 10%;">
                            <!-- close 是一個 CSS class,用於為模態窗口的關閉按鈕設置樣式 -->
                            <!-- data-dismiss="modal",是一個自定義的 HTML5 data 屬性,在這里它被用於關閉模態窗口 -->
                            <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">關閉</span></button>
                            <h4 class="modal-title">窗口標題</h4>
                        </div>
                        <!-- class="modal-body",是 Bootstrap CSS 的一個 CSS class,用於為模態窗口的主體設置樣式 -->
                        <div class="modal-body" style="background: green; width: 100%; height: 90%;">
                            湖人&&火箭總冠軍
                        </div>
                    </div>
                </div>
            </div>
            <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依賴 jQuery,所以必須放在前邊) -->
            <script src="./src/js/jquery.min.js"></script>
            <!-- 加載 Bootstrap 的所有 JavaScript 插件。你也可以根據需要只加載單個插件。 -->
            <script src="./src/js/bootstrap.min.js"></script>
            <script src="./src/js/jquery-ui.min.js"></script>
            <script>
                // 在模態框出現后添加可拖拽功能
                $(document).on("show.bs.modal", ".modal", function() {
                    // draggable 屬性規定元素是否可拖動
                    $(this).draggable({
                        handle: ".modal-header", // 只能點擊頭部拖動
                        cursor: 'move' //光標呈現為指示鏈接的指針(一只手),
                    });
                    $(this).css("overflow", "hidden"); // 防止出現滾動條,出現的話,你會把滾動條一起拖着走的
                });
            </script>
    </body>
</html>

點擊按鈕,會彈框顯示,並且彈框可以拖動

運行效果如下:

注意:

Bootstrap為v3版本

相應的js插件網上都可以輕松下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM