js彈框3秒後自動消失

開發中有時候會須要最出彈框後,過幾秒自動消失的效果,下面給你們分享一下我本身作的一個小案例。css

 

案例中的彈框使用的是bootstrap裏面的模態框,實現自動消失則用的是js中的setInterval方法。該彈框使用了jquery-ui中的draggable方法,可拖動。html

目錄結構以下:jquery

 

 

下面是案例代碼:bootstrap

 

 

demo.htmlui

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>js彈框3秒後自動消失</title>
        <link rel="stylesheet" type="text/css" href="./js/bootstrap/css/bootstrap.css"/>
        <link rel="stylesheet" type="text/css" href="./css/demo.css"/>            
    </head>
    <body>
        <button onclick="showModal()">點擊彈出模態框</button>
        
        <div class='modal my-modal-alert' id='my-modal-alert'>
            <div class='modal-dialog boxBodySmall'>
                <div class='modal-content'>
                    <div class='modal-header boxHeader'>
                        <button type='button' class='close boxClose' data-dismiss='modal'>
                            <span aria-hidden='true'>&times;</span><span class='sr-only'>Close</span>
                        </button>
                        <h4 class='modal-title boxTitle' id='modal-title'>模態框</h4>
                    </div>
                    <div class='modal-body' id='modal-body-alert'>
                        <div id='modal_message'>js彈框自動消失案例</div>
                        <span id='num'></span>
                    </div>
                    <div class='modal-footer boxFooter' id='modal-footer'>
                        <button type='button' class='btn btn-default boxButton' data-dismiss='modal'>關閉</button>
                        <button type='button' class='btn btn-primary boxButton'>保存</button>
                    </div>
                </div>
            </div>
        </div>
        
        <script src="./js/jquery/jquery-1.11.2.js"></script>
        <script src="./js/bootstrap/js/bootstrap.min.js"></script>
        <script src="./js/jquery-ui/jquery-ui.min.js"></script>
        
        <script>
            var clearFlag = 0;
            var count = 3;//設置3秒後自動消失
            var showModal = function(){
                $("#my-modal-alert").toggle();//顯示模態框
                
                $("#my-modal-alert").draggable({//設置模態框可拖動(須要引入jquery-ui.min.js)
                    handle: ".modal-header"
                });
                
                clearFlag = self.setInterval("autoClose()",1000);//每過一秒調用一次autoClose方法
            }
            
            var autoClose = function(){
                if(count>0){
                    $("#num").html(count + "秒後窗口將自動關閉");
                    count--;
                }else if(count<=0){
                    window.clearInterval(clearFlag); 
                    $("#num").html("");
                    $("#my-modal-alert").fadeOut("slow");
                    count = 3;
                    $("#my-modal-alert").toggle();
                }
            }
        </script>
    </body>
</html>

 

demo.cssspa

/*彈框自己(大)*/ 
.my-modal-alert .boxBodyBig{
    width:496px;
    height: 418px;
}
/*彈框自己(小)*/ 
.my-modal-alert .boxBodySmall{
    width:412px;
    height: 418px;
}
/*彈框頭*/
.my-modal-alert .boxHeader{
    background-color: #f6f6f6;
    border-bottom: #e5e5e5 1px;
    height: 48px;
} 
/*彈框標題*/ 
.my-modal-alert .boxTitle{
    background-color: #f6f6f6;
    color:#333333;
    font-family:"SimHei";
    font-size: 16px;
}
/*彈框頭部分右側關閉按鈕*/
.my-modal-alert .boxClose{
    
}
.my-modal-alert .boxClose:hover{
    color: #ff7800;
}
/*彈框按鈕的父級元素塊*/
.my-modal-alert .boxFooter{
    margin: auto;
    text-align: center;
    padding:24px 15px 24px 15px;
    margin:0px 15px 0px 15px;
}
/*彈框按鈕*/
.my-modal-alert .boxButton{
    font-family:"SimHei";
    background-color:#ff7800;
    width: 70px;
    height: 30px;
    color:white;
    text-align:center;
    line-height: 1;
}

/*已下爲選用*/
/*彈框主題label框*/
.my-modal-alert .boxLabel{
    width:80px;
    font-size: 14px; 
    font-family:'SimHei';
    color: #999999;
    
}
/*文本框*/
.my-modal-alert .boxInput{
    width:176px;
    font-size: 14px;
    color: #333333;
}
/*純文本*/
.my-modal-alert .boxText{
    color:#ff7800;
    font-family:'SimHei';
    font-size: 12px;
}
.my-modal-alert .boxTextarea{
    font-size: 12px;
}

.my-modal-alert .modal-body{
    width: 400px;
    height: 100px;
    text-align: center;
}
.my-modal-alert .modal_message{
    margin-top: 20px;
    
}

 

 

注意項:code

一、bootstrap依賴於jquery,引入bootstrap前須要引入jqueryhtm

相關文章
相關標籤/搜索