根据条件我给变量分配一条新消息,然后在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
}
答案 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);
};
第一个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);
});