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.