【发布时间】:2019-10-30 10:57:16
【问题描述】:
我正在尝试使用一个小的 Javascript 脚本淡出 Django 成功消息,但似乎无法使其正常工作。这是我的base.html:
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{ message.tags }}">
{{ message }}
</div>
{% endfor %}
{% endif %}
<script>
var m = document.getElementsByClassName("alert");
setTimeout(function(){
m.style.display = "none";
}, 3000);
</script>
【问题讨论】:
-
假设您的
div已经正确显示并且<script>标签在源代码上,这不是一个Django 问题,而是一个Javascript 问题。 -
我觉得这肯定属于
Django标签,因为{{ template tag }}被引用,但我删除它让你开心。 -
Django 只呈现您的模板,您正在寻找的是 CSS 动画/过渡,或 DOM 的 javascript 处理以更新它????。
m.style.display = "none";是否有效并隐藏<div>? -
我没有意识到这可以用 CSS 来处理。人们通常是这样做的吗?
-
Django 标签本质上是复制/粘贴,它创建一个发送到客户端的文件,因此显示和淡化消息将在 JS 客户端完成。
标签: javascript html css css-transitions