You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Pug中错误提示框定时自动消失

实现错误提示框自动消失

1. 修正Pug模板的字段错误(必做)

你后端代码中错误对象的属性是message,但Pug模板里写的是error.mensaje,这会导致错误内容无法正常显示,先修正这个问题,同时给提示框添加一个专属类方便后续JS控制:

if errores.length > 0
    each error in errores
        .alert.col.alert-danger.text-center.auto-dismiss= error.message

2. 添加JavaScript实现定时隐藏

在Pug模板的</body>标签前插入以下脚本,实现3-5秒后自动隐藏提示框:

script.
    document.addEventListener('DOMContentLoaded', function() {
        // 选中所有需要自动消失的提示框
        const alertElements = document.querySelectorAll('.auto-dismiss');
        
        alertElements.forEach(alert => {
            // 生成3000-5000毫秒的随机延迟(也可以写固定值如3000)
            const delay = Math.floor(Math.random() * 2000) + 3000;
            setTimeout(() => {
                // 平滑渐隐效果
                alert.style.opacity = '0';
                alert.style.transition = 'opacity 0.6s ease';
                // 渐隐完成后移除元素
                setTimeout(() => alert.remove(), 600);
            }, delay);
        });
    });

3. 可选:用CSS优化过渡效果

如果希望动画更流畅,可以在模板头部添加基础样式:

style.
    .auto-dismiss {
        transition: opacity 0.6s ease;
    }

替代方案(无需新增类)

如果不想新增auto-dismiss类,也可以直接通过现有类选择提示框,把JS中的'.auto-dismiss'改成'.alert.alert-danger'即可。

内容的提问来源于stack exchange,提问作者Gerardo J. Cruz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 08:35:21