flask中flash訊息框的自動(定時)隱藏
阿新 • • 發佈:2020-08-20
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.