1

我有以下 jQuery:

$('#register_email_address').siblings('.error').css('display','inline-block');

我希望上面的内容在这么多秒后淡出。

我尝试了以下方法:

$('#register_email_address').siblings('.error').css('display','inline-block').fadeOut(3000);

但这似乎不起作用?

有任何想法吗?

干杯,丹

上面的代码如果用于表单验证。上述任何输入字段的 onBlur 被启动,显示类 .error。然后显示。然后显示并保持显示。

.error 类包含另一类 .showerror。这是我真正想在这么长时间后淡出的课程。

4

2 回答 2

2

尝试:

$('#register_email_address').siblings('.error').css('display','inline-block').delay(3000).fadeOut();
于 2013-06-03T09:52:04.783 回答
2

您当前的代码不起作用的原因是您正在使用的 3000 值正在应用于淡出(即:淡出动画需要 3000 毫秒)。

这里有几个选项,但我个人会使用 jQuery 的.delay(),它专门用于导致处理链的暂停。从理论上讲,将其放入您的链条中应该完全符合您的要求。

例如,这将在设置 CSS 和淡出元素之间造成 3000 次暂停:

$('#register_email_address').siblings('.error').css('display','inline-block').delay(3000).fadeOut();
于 2013-06-03T09:53:08.623 回答