使用 JQuery,如何制作
出现,然后添加一些html,然后删除html,然后隐藏div?

发布于 2024-07-29 08:03:41 字数 386 浏览 7 评论 0原文

<div id="message" style="display: none">
 <!-- Here I want to place a message. It should be visible for 3 seconds.Then clear the      div to get ready for the next message. -->
</div>

如何使用 JQuery 执行以下操作?

1.在id=“message”的div中插入一条消息,并使div可见。 2.使消息可见 3 秒。 3.删除div“message”的内容。 4.隐藏 div,然后根据需要从步骤 1 开始。

提前谢谢您。

<div id="message" style="display: none">
 <!-- Here I want to place a message. It should be visible for 3 seconds.Then clear the      div to get ready for the next message. -->
</div>

How can I do the following using JQuery ?

1.Insert a message into div with id="message" and make div visible.
2.Make the message visible for 3 seconds.
3.Remove the content of div "message".
4.Hide the div and then if necessary start with step 1.

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

笔芯 2024-08-05 08:03:41

我是这样做的:

$.msg = function(text, style)
{
    style = style || 'notice';           //<== default style if it's not set

    //create message and show it
    $('<div>')
      .attr('class', style)
      .html(text)
      .fadeIn('fast')
      .insertBefore($('#page-content'))  //<== wherever you want it to show
      .animate({opacity: 1.0}, 3000)     //<== wait 3 sec before fading out
      .fadeOut('slow', function()
      {
        $(this).remove();
      });
};

示例:

$.msg('hello world');
$.msg('it worked','success');
$.msg('there was a problem','error');

工作原理

  1. 创建一个 div 元素
  2. 设置样式(以便您可以更改外观)
  3. 设置 html to show
  4. 开始在消息中淡入淡出,使其可见
  5. 将消息插入到您想要的位置
  6. 等待 3 秒
  7. 淡出消息
  8. 从 DOM 中删除 div —— 没有乱七八糟!

额外示例消息样式:

.notice, .success, .error {padding:0.8em;margin:0.77em 0.77em 0 0.77em;border-width:2px;border-style:solid;}
.notice {background-color:#FFF6BF;color:#514721;border-color:#FFD324;}
.success {background-color:#E6EFC2;color:#264409;border-color:#C6D880;}
.error {background-color:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
.error a {color:#8a1f11;}
.notice a {color:#514721;}
.success a {color:#264409;}

```

Here's how I do it:

$.msg = function(text, style)
{
    style = style || 'notice';           //<== default style if it's not set

    //create message and show it
    $('<div>')
      .attr('class', style)
      .html(text)
      .fadeIn('fast')
      .insertBefore($('#page-content'))  //<== wherever you want it to show
      .animate({opacity: 1.0}, 3000)     //<== wait 3 sec before fading out
      .fadeOut('slow', function()
      {
        $(this).remove();
      });
};

Examples:

$.msg('hello world');
$.msg('it worked','success');
$.msg('there was a problem','error');

How it works

  1. creates a div element
  2. sets the style (so you can change the look)
  3. sets the html to show
  4. starts fading in the message so it is visible
  5. inserts the message where you want it
  6. waits 3 seconds
  7. fades out the message
  8. removes the div from the DOM -- no mess!

Bonus Sample Message Styling:

.notice, .success, .error {padding:0.8em;margin:0.77em 0.77em 0 0.77em;border-width:2px;border-style:solid;}
.notice {background-color:#FFF6BF;color:#514721;border-color:#FFD324;}
.success {background-color:#E6EFC2;color:#264409;border-color:#C6D880;}
.error {background-color:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
.error a {color:#8a1f11;}
.notice a {color:#514721;}
.success a {color:#264409;}

```

初见你 2024-08-05 08:03:41

你可以这样做:

var $messageDiv = $('#message'); // get the reference of the div
$messageDiv.show().html('message here'); // show and set the message
setTimeout(function(){ $messageDiv.hide().html('');}, 3000); // 3 seconds later, hide
                                                             // and clear the message

You can do something like this:

var $messageDiv = $('#message'); // get the reference of the div
$messageDiv.show().html('message here'); // show and set the message
setTimeout(function(){ $messageDiv.hide().html('');}, 3000); // 3 seconds later, hide
                                                             // and clear the message
心房敞 2024-08-05 08:03:41

这是一个小脚本,以 3 秒的间隔循环显示消息。 也许这不是您所需要的,但我希望它可以帮助您实现您想要的。

var messages = [
  "test message 0",
  "test message 1",
  "test message 2",
  "test message 3"
];

$(function() {
  var msgIndex = 0;
  setInterval(function() {
    $msgDiv = $("#message");
    $msgDiv.fadeOut(200, function() {
      $msgDiv.html(messages[msgIndex]).fadeIn(500);
      if(msgIndex >= messages.length)
        msgIndex = msgIndex % messages.length;
    });
  }, 3000);
});

This is a small script which cycles through messages with an interval of 3 seconds. Maybe it's not what you need but i hope it helps you for achive what you want.

var messages = [
  "test message 0",
  "test message 1",
  "test message 2",
  "test message 3"
];

$(function() {
  var msgIndex = 0;
  setInterval(function() {
    $msgDiv = $("#message");
    $msgDiv.fadeOut(200, function() {
      $msgDiv.html(messages[msgIndex]).fadeIn(500);
      if(msgIndex >= messages.length)
        msgIndex = msgIndex % messages.length;
    });
  }, 3000);
});
嘿哥们儿 2024-08-05 08:03:41

看看jGrowl。 非常好并且可配置。

Take a look at jGrowl. Very nice and configurable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文