当前位置: 首页 > 知识库问答 >
问题:

jQuery隐藏/删除5秒后的DIV内容

丁昌翰
2023-03-14

如何自动隐藏或删除DIV的内容。我把一些信息放在一个容器里。

<div id="msg-container"></div>

我想显示新消息只有几秒钟,它可以是5,10什么,但然后我想它是空的,添加新消息,显示它,而不是隐藏。我当然知道setTimeout的"诀窍":

setTimeout(function(){
  $('#divID').remove();
}, 5000);

但是在这个选项中,我必须通过每个消息传递这个脚本,这不是我要找的。我也尝试过setInterval,但是正如名字所说,它是间隔,所以消息可以在5秒钟内可见,或者如果它到达间隔时间的末尾,甚至可以不可见。
有没有什么方法可以编写简单的脚本来清理我的DIV正好在5秒后才被内容填满?

共有3个答案

滕祯
2023-03-14

一种方法是结合使用setTimeout和自定义事件。每次要添加新消息或消息集时,都会触发此事件并向其传递相应的消息。

例如。

$('.message').trigger('message:add', 'I am your new message!');

然后

$('.message').on('message:add', function(event, message) {
    // do your thing
});

JSFiddle这里

或者你可以使用“咆哮”插件,例如。http://ksylvest.github.io/jquery-growl/

房唯
2023-03-14

首先,您的选择器与div的id不匹配。

setTimeout(function(){
  $('#msg-container').remove();
}, 5000);

然而,如果这是有意的,并且您试图删除“msg container”中的div,让我们用类“divClass”来表示,它将是这样的。

setTimeout(function(){
  $('#msg-container .divID').remove();
}, 5000);
酆翔宇
2023-03-14

假设您有一个消息容器。

<div id="message-container">
</div>

只需创建类似于消息管理器的东西来处理此类功能。

var MessageManager = {
    show: function(content) {
        $('#message-container').html(content);
        setTimeout(function(){
            $('#message-container').html('');
        }, 5000);
    }
};

MessageManager.show('<h1>Testing</h1>');

每次您想要显示某些内容时,只需调用MessageManager.show()来显示您想要显示的内容。

 类似资料:
  • 问题内容: 我想知道,几秒钟后如何在jquery中隐藏div?例如Gmail的邮件。 我已经尽力了,但是无法正常工作。 问题答案: 这将在1秒(1000毫秒)后隐藏div。 如果您只想隐藏而不褪色,请使用。

  • 我有一些链接,当我悬停在上面时,会显示与该链接相关的特定文本。我已经使用悬停功能来显示和隐藏div。 我还想添加这样的特性,即文本在几秒钟后自动改变,以显示下一个div的内容。即is循环通过DIVS。Hide div 1,show div 2,Hide 2,show div 3等。下面是显示悬停功能如何工作的代码。将鼠标悬停在右侧的链接上,左侧的文本将发生变化: null null

  • 问题内容: 我有一些服务器端HTML输出,我无法使用纯CSS来处理,本质上DIV有时适用: 要么 要么 要么 当DIV == 我要删除它。 有任何想法吗? 问题答案: 甚至更好(假设使用jQuery): 编辑:其他答案是好的,但OP想要删除空项目,而不是将其隐藏。

  • 问题内容: 页面加载后5秒钟是否可以隐藏元素? 我想做完全相同的事情,但希望通过CSS过渡获得相同的结果。 有什么创意吗?还是我问的问题超出了CSS过渡/动画的限制? 问题答案: 但是您无法以可能立即想到的方式进行操作,因为您无法为原本依赖的属性(例如,或更改尺寸和设置为)设置动画或创建过渡,以正确隐藏元素和防止其占用可见空间。 因此,为有问题的元素创建一个动画,并在5秒后进行切换,同时还将高度和

  • 乍一看,我试图做一些相当简单的事情,但我做不到。我有一个按钮和两个隐藏的div。按下按钮时,我希望第一个div显示,n秒后隐藏,然后第二个div显示。 HTML: 包含JS的完整代码如下所示:https://jsfiddle.net/439xbfe5/ 我已经在这里检查了答案:jQuery显示5秒钟,然后隐藏 这个代码的问题是#div2在#div1消失之前出现: 同样的问题: 我还尝试创建一个阻塞

  • 问题内容: 我从修改了自己需求的网站上获得了此代码: 在test.php中: 所以我想在链接div中每5秒调用一次test.php。我该怎么做呢? 问题答案: 试试看 希望这可以帮助。