在 runIt 之前等待 5 秒(而不是单击)?
目前,单击会启动我的代码中的序列。我想更改它,以便“重新开始”淡入,出现 5 秒,然后淡出,并运行序列的其余部分。
完全初学者!我不知道该怎么做。有什么帮助吗?
$(document).ready(runIt);
});
function runIt(){
$('#myText').hover(function(){
$(this).clearQueue().html('Start Again');
})
.click(function(){
runIt();
})
.html('text 1')
.fadeIn(1000)
.delay(5000)
.fadeOut(1000,function(){
$(this).html('text 2');
})
.fadeIn(1000)
.delay(5000)
.fadeOut(1000,function(){
$(this).html('text 3').unbind('mouseenter mouseleave');
})
.fadeIn(1000);
};
currently a click initates the sequence in my code. I'd like to change it so that "Start Again" fades in, appears for 5 seconds, then fades out and the rest of the sequence runs.
Complete beginner! I'm not sure how to do that. Any help?
$(document).ready(runIt);
});
function runIt(){
$('#myText').hover(function(){
$(this).clearQueue().html('Start Again');
})
.click(function(){
runIt();
})
.html('text 1')
.fadeIn(1000)
.delay(5000)
.fadeOut(1000,function(){
$(this).html('text 2');
})
.fadeIn(1000)
.delay(5000)
.fadeOut(1000,function(){
$(this).html('text 3').unbind('mouseenter mouseleave');
})
.fadeIn(1000);
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
延迟函数无法正确清除,因此我使用静态动画来伪造延迟(在本例中为剩余动画)。
The delay function does not get cleared properly so I used a static animation to fake a delay (animate left in this case).
Javascript 有几个函数可以用于此目的:setTimeout() 和 setInterval()。这是一篇关于它们的好文章: http://www.elated .com/articles/javascript-timers-with-settimeout-and-setinterval/
因此,在您的情况下,您需要从 setTimeout() 或设置间隔():
Javascript has a couple of functions that you can use for this: setTimeout() and setInterval(). Here's a good post on them: http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
So in your case, instead of calling runit() based on a click you will need to call it from setTimeout() or setInterval():
我没有测试过,但这更接近您想要的...请注意,runIt() 已移至外部函数。
I've not tested but this is closer to what you want... note that runIt() has been moved to an external function.
这是经过全面测试且可工作的代码,进行了一些更改,您可以根据需要对其进行更改。
希望这有帮助。
编辑:如果你想停止事件,你应该使用 .stop() 而不是 .clearQueue()
Here is a fully tested and working code with a few changes, you can make changes to it to what ever you'd like.
hope this helps.
edit: if you wish to stop events you should use .stop() and not .clearQueue()