如何使用jQuery隐藏此消息?

时间:2015-04-15 23:30:02

标签: javascript jquery

根据条件我给变量分配一条新消息,然后在2秒后使用jquery.Now显示消息我想隐藏消息并显示另一条新消息。问题是因为我没有将消息显示到一个HTML div所以我很困惑如何达到这个?

if(newresp == "success")
{
var newmsg="<img src=\"images/myimg.png\"><span style='color:#00CCFF;font-size:25px;margin-top:2px'> validated!</span>";
var newmsg1="redirecting ......";
$("#status").hide().fadeIn('slow').html(newmsg);
// i want to hide this newmsg now and then show the newmsg1

}

4 个答案:

答案 0 :(得分:1)

不确定您的整个方案,但here's a quick fiddle来证明这个想法。

基本上你想要将内容包装在div或其他内容中并给它id,以便你可以专门调用它

答案 1 :(得分:1)

您可以使用javascript setTimeout方法。

if(newresp == "success")
{
var newmsg="<img src='images/myimg.png'><span style='color:#00CCFF;font-size:25px;margin-top:2px'> validated!</span>";
var newmsg1="redirecting ......";

    $( "#status" ).hide().fadeIn( 500 ).html(newmsg).delay( 2000 ).fadeOut( 500 );

    setTimeout(function() {
        $( "#status" ).hide().fadeIn(500 ).html(newmsg1).delay( 2000 ).fadeOut( 500 );
    }, 3000);

    setTimeout(function() {
        window.location='http://google.com';
}, 6000);
};

Demo

第一个SetTimeout延迟为3000(3秒),即第一条消息可见的时间总和(500 + 2000 + 500
第二个SetTimeout延迟为6000(3''+ 3''),然后重定向。

答案 2 :(得分:0)

像这样创建新的DOM元素:

var img = $('<img src=\"images/myimg.png\">');
var span = $('<span style="color:#00CCFF;font-size:25px;margin-top:2px"> validated!</span>');

然后.append()将它们都放到div中并将其淡入。你需要等待淡入淡出才能完成:

$(selector).fadeIn('slow', function() {
    // will be called when the element finishes fading in
});

然后你可以说:$('div.status span').html('Your new message');

答案 3 :(得分:0)

您可以使用jQuery延迟函数等待。

因此...

$("#status").hide().fadeIn('slow').html(newmsg).delay( 20000 ).fadeOut('slow').delay( 20000 ).html(newmsg1).fadeIn('slow');

这两者之间的延迟为2秒。 2000是毫秒= 2秒

编辑: 请改用setTimeout函数...

var newmsg="<span style='color:#00CCFF;font-size:25px;margin-top:2px'>Your click is validated!</span>";
var newmsg1="ok";
$("#verify_status").hide().html(newmsg).fadeIn('slow', function(){
    setTimeout(function(){
        $("#verify_status").hide().html(newmsg1).fadeIn('slow');
    }, 2000);
});