1. 程式人生 > 實用技巧 >flask中flash訊息框的自動(定時)隱藏

flask中flash訊息框的自動(定時)隱藏

BEGIN:

花了較長時間整出來這個可用的使flask訊息框自己消失的方法,需要的拿走。js很簡單,卻搞了很久,唉~

ps:這裡是漸變式的消失效果。

view.py

@frontend.route('/logout')
@login_required
def logout():
    logout_user()
    flash('登出成功','success')
    return redirect(url_for('frontend.index'))

html

flash中有兩個引數:messages和category,其中 category作為資訊標記列表,用於區分資訊的型別,messages裡存放訊息列表,在html中對其進行遍歷取得各個fash資訊,這裡新增div元素,使訊息顯示出來。

{% block flash_message %}
    <div class="container-wrap">
        {% with messages = get_flashed_messages(with_categories=True) %}
            {% if messages %}
                <div class="container-wrap">
                    <div id='flash_message_container'>
                        {% for category, msg in messages %}
                            
<div class="alert alert-{{ category }}"> <button type="button" class="close" data-dismiss="alert">×</button> {{ msg }} </div> {% endfor %}
</div> </div> {% endif %} {% endwith %} </div> {% endblock %}

js

這裡通過classname取得訊息框的div元素,定時1.5秒,使其在1.5秒內漸漸消失。

<script type="text/javascript">
    $('.alert').fadeOut(1500);
</script>

END.