jQuery开发中最快速的编程方式就是链式操作,在开发一个简单的定制加载页面过程中,我需要能够让一个页面元素出现,延时1000毫秒,最后消失,本来这个过程非常简单,我觉得直接使用如下代码即可搞定:
1
|
$(
"#gbin1-text"
).show().delay(
1000
).hide();
|
但是,让我费解的是,这个代码即不出错,也不显示我希望出现的元素,然后消失。
本身这个代码没有任何问题,如果大家尝试使用下面的代码,可以正常工作。
1
|
$(
'#gbin1-text'
).slideUp(
300
).delay(
800
).fadeIn(
400
);
|
本身这俩行代码没有太多区别啊,但是上面代码就是无法正常工作,无奈之下,Google了一下,发现原因了。
如果你将以上代码修改为
1
|
$(
"#gbin1-text"
).show(
0
).delay(
1000
).hide(
0
);
|
你会惊奇的发现,可以正常工作了。
原因在于1.4中添加的delay()方法将会允许其它在特效队列中的方法延迟执行,只有一个队列中的子事件才可以被延迟,例如,这个方法不会延迟没有参数的方法,因为没有参数的方法不使用特效的队列。