$('#div1').hide();
//sleep or wait or for a sec
$("#div2").show();
怎么做?
答案 0 :(得分:38)
对于您的特定功能.show()
没有排队,但有一个简单的技巧让它排队,所以您可以使用.delay()
,如下所示:
$('#div1').hide();
$("#div2").delay(1000).show(0);
通过给它一个0
持续时间参数,它现在是一个即时但排队的动画。在其下方使用setTimeout()
,因此它基本上与以下行为相同:
$('#div1').hide();
setTimeout(function() { $("#div2").show(); }, 1000);
答案 1 :(得分:6)
这里你去!
$('#div1').hide();
//sleep or wait or for a sec
setTimeout('moomoo()', 1000);
function moomoo() {
$("#div2").show();
}
答案 2 :(得分:3)
以下应该做你想做的事:
$("#div1").hide();
$("#div2").delay(1000).show(0);
答案 3 :(得分:1)
您不能只是暂停在调用之间执行代码。这意味着浏览器不会显示hide
调用引起的更改,因为代码运行时不会进行更新。代码似乎什么都不做。
使用setTimeout
方法安排稍后执行的代码:
$('#div1').hide();
window.setTimeout(function(){
$("#div2").show();
}, 1000);
这会将元素设置为隐藏,并安排代码显示它以便稍后启动。代码将在setTimeout
调用后继续,以便函数可以退出并且浏览器返回控件,以便它实际上可以隐藏元素。
答案 4 :(得分:-1)
没有真正的睡眠,但这将达到同样的目标:
$('#div1').hide();
//sleep or wait or for a sec
window.setTimeout(function() { $("#div2").show(); }, 1000);
编辑:好吧,我现在已经纠正了“真正的”睡眠,但是使用setTimeout仍然是有效的“纯JS”解决方案 - 您的选择。 :)