我正在使用打字机效果[http://plugins.jquery.com/project/jTypeWriter]显示一行文字。
我想:1)延迟3秒
2)显示打字机文字
3)延迟4秒
4)淡出
但是这个代码不会发生第1步:
$('blockquote').delay(3000).jTypeWriter({duration:1}).delay(4000).fadeOut();
为什么delay()
一开始不起作用?
答案 0 :(得分:1)
delay()只能在动画队列中运行 - 所以是的,动画需要在它按预期工作之前调用。
setTimeout()可能是要走的路:
var t = window.setTimeout(function(){
$('#myDiv').jTypeWriter({duration:1}).delay(4000).fadeOut();
}, 3000);
答案 1 :(得分:1)
要使用.delay()
,您需要将jTypeWriter()
添加到动画队列中。您可以使用jQuery的.queue()
方法:
$('blockquote').delay(3000)
.queue(function( n ){ $(this).jTypeWriter({duration:1}); n(); })
.delay(4000)
.fadeOut();
调用n()
中的.queue()
参数用于允许队列中的下一个元素继续。
答案 2 :(得分:0)
timeOut = setTimeout(function(){
$('blockquote').jTypeWriter({duration:1}).delay(4000).fadeOut();
},3000)
它应该可以工作,但它是未经测试的代码。