JQuery 显示5秒,然后隐藏

我使用 .show在成功提交表单后显示隐藏消息。

如何显示消息5秒钟,然后隐藏?

245915 次浏览

你可以在动画之前使用 .delay(),像这样:

$("#myElem").show().delay(5000).fadeOut();

如果它不是一个动画,直接使用 setTimeout(),像这样:

$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);

之所以选择第二个,是因为如果没有持续时间,.hide()通常不会出现在动画(fx)队列中,它只是一个即时效应。

或者,另一种选择是自己使用 .delay().queue(),像这样:

$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});

您可以使用以下效果动画,您可以根据您的要求更改值

$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');

就这么简单:

$("#myElem").show("slow").delay(5000).hide("slow");

使用 ajax 显示5秒的错误消息,该消息保存在 laravel8的会话中

<div id="error">
@php
$error = Session::get('message');
echo $error;
@endphp
</div>
<script>
$("#error").show();
setTimeout(function() {
$("#error").hide();
}, 5000);
</script>