【问题标题】:Fade a div after showing for couple of seconds显示几秒钟后淡出 div
【发布时间】:2011-12-30 21:16:36
【问题描述】:

情况:

我在页面的一角创建了小的信息 div。这些是由我设置的消息生成的。信息被放置在彼此之上。 div 有一个class = "informatiemelding"

要完成:

有没有办法为每个类名为“informatiemelding”的 div 添加一个淡入淡出计时器,这样无论屏幕上有多少信息 div,它们都会消失几秒钟。我有 jQuery。我试过了:

<script type="text/javascript">
jQuery(".informatiemelding").setTimeout(function () {
   $(this).fadeOut('slow');
});
</script>

但这只是给了我一个错误“未捕获的类型错误:对象 [对象对象] 没有方法 'setTimeout'”。所以我以错误的方式获取 div。

由于我是一个 jQuery 的菜鸟,有人可以解释我该怎么做吗? Javascript 不是我理解的东西。变得更好,但我更喜欢 PHP:P

【问题讨论】:

  • 现在我知道我做错了什么。脚本必须放在 div 之后。可能很明显,但我不知道

标签: jquery html timeout fade


【解决方案1】:
jQuery("div.informatiemelding").delay(3000).fadeOut("slow");

【讨论】:

  • 当我使用: 我收到一条错误消息:Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function。知道为什么吗?
  • 我会将上面的代码更新为适合您的内容。通常,$(whatever)jQuery(whatever) 相同,但听起来 jQuery 没有将 $ 注册为您的快捷方式或其他东西......如果它仍然不起作用,这意味着 jQuery 没有加载或在您的代码之后加载。
  • 现在我知道我做错了什么。脚本必须放在 div 之后。可能很明显,但我不知道
  • 您可能已经加载了另一个 javascript 库,它覆盖了 $ 快捷方式。不确定。老实说,虽然 $ 总是很方便,但最大兼容性的最佳实践是无论如何都使用 jQuery。
【解决方案2】:
setTimeout(function () {
    $(".informatiemelding").fadeOut('slow');
}, 1000 /* Time to wait in milliseconds */);

【讨论】:

  • 你问了很好的 qns。我支持你回到你的旧观点。像这样的人让 SO 变成了一个糟糕的地方!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
  • 2011-03-20
相关资源
最近更新 更多