javascript 如何在显示几秒钟后隐藏Django消息

bfnvny8b  于 11个月前  发布在  Java
关注(0)|答案(6)|浏览(121)

例如,在重定向之前,我使用

messages.add_message(request, messages.INFO, 'You have successfully updated your listing.')

字符串
然后消息将自动显示后重定向,但消息永远不会消失,我可以知道如何隐藏它几秒钟后?
Thanks!

dzjeubhm

dzjeubhm1#

你需要写JavaScript代码,使用窗口setTimeout()方法隐藏一段时间后的消息。

// suppose the `id` attribute of element is `message_container`.
var message_ele = document.getElementById("message_container");

setTimeout(function(){ 
   message_ele.style.display = "none"; 
}, 3000);
// Timeout is 3 sec, you can change it

字符串
把这段代码放在<script>标签底部的base.html中,这样每当页面在3秒后重新加载时,它就会让你的消息消失。

7fhtutme

7fhtutme2#

脚本:

<script>
    setTimeout(function(){
        if ($('#msg').length > 0) {
            $('#msg').remove();
        }
    }, 2000)    // 2000 millisecond
</script>

字符串
模板:

<div id="msg">
    {{message}}
</div>

acruukt9

acruukt93#

要只隐藏带有特定标签的消息(例如仅隐藏INFO消息),您可以在HTML文档中使用以下代码。

<script>
    // Get all info messages
    var info_messages = document.getElementsByClassName('alert-info');

    setTimeout(function(){
        for (var i = 0; i < info_messages.length; i ++) {
            // Set display attribute as !important, neccessary when using bootstrap
            info_messages[i].setAttribute('style', 'display:none !important');
        }
    }, 3000);
</script>

字符串

2skhul33

2skhul334#

这个对我来说很好:

var message_ele = document.getElementById("msg");
setTimeout(function() {
  message_ele.style.display = "none";
}, 3000);

个字符

a7qyws3x

a7qyws3x5#

我可以这样做...
function fade_out(){$(“.alert”).fadeOut();}; setError(fade_out,3000);

ggazkfy8

ggazkfy86#

在超时函数之外的变量声明对我不起作用,在内部声明,它起作用了

<script>
    setTimeout(function () {
        var hidemessage = document.getElementById("hide_message");
        hidemessage.style.display = "none";
    }, 2000);
</script>

字符串

相关问题