如何只显示段落几秒钟,然后使用jQuery隐藏它

时间:2013-12-05 08:55:13

标签: jquery html

我正在向服务器提交表单,如果一切正常,我想为用户显示某种确认消息。

问题是我正在使用ASP.NET MVC 4我可以这样做:

@if (ViewBag.ConfirmMessage != null)
{ 
<p>@ViewBag.ConfirmNMessage</p>
}

但这样消息仍然存在,我认为这会让用户感到困惑。如果我使用类似的东西:

 @if (ViewBag.ConfirmMessage != null)
{ 
    <script>
        alert("Some message");
    </script>
}

但首先alert与显示段落的工作方式不同,ViewBag.ConfirmMessage已经有了我要显示的消息,如果我显示来自{{的消息,将来会更加可维护1}}而不是在每个视图中写一些消息。

所以我的问题是,如果显示ViewBag.ConfirmMessage秒后我可以隐藏<p>@ViewBag.ConfirmNMessage</p>的方式?

5 个答案:

答案 0 :(得分:5)

@if (ViewBag.ConfirmMessage != null)
{ 
<p id="confirmMsg">@ViewBag.ConfirmNMessage</p>
}

并且

@if (ViewBag.ConfirmMessage != null)
{ 
    <script>
    setTimeout(function() {

        $('#confirmMsg').hide();
    }, X * 1000);
    </script>
}

答案 1 :(得分:1)

您可以使用setTimeout()

function fun() {
  $('p').hide();  //better to have id selector
}

var inter = setTimeout(fun, 1000); //1000 represents 1 second

使用fadeOut()而不使用setTimeout()

的简单方法
$("p").fadeOut( 1000, "linear", complete ); //better to have id selector

答案 2 :(得分:1)

<强> HTML

  <div class="wrap">
  <p>Fade this out</p>
  </div>

<强> Jquery的

    $(document).ready(function() { 
    setTimeout(function() { 
        $('.wrap p').fadeOut(); 
 }, 400); 
});

<强> DEMO

答案 3 :(得分:0)

$('p').show("slow").delay(4000).hide("slow");

http://jsfiddle.net/qxR95/

答案 4 :(得分:0)

@if (ViewBag.ConfirmMessage != null)
{ 
<p id="myMessage">@ViewBag.ConfirmNMessage</p>
<script>
$(function() {
    setTimeout(function() {
        $("#myMessage").hide();
    }, 5000);
});
</script>
}