我的jQuery代码有问题。
在开始时它会显示带有改组效果的文本,然后在11秒钟后淡出并再次执行此操作。一段时间后,我在开始混洗效果时获得了fadeOut效果。
似乎它们在不同的时间轴上运行。
$( document ).ready( function(){
function textShuffle() {
$( "#text" ).shuffleLetters().fadeIn().delay( 11000 ).fadeOut( 400 );
setTimeout( textShuffle, 12000 );
}
textShuffle();
});
我该如何解决。
答案 0 :(得分:0)
也许您应该在fadeOut完成后调用递归方法,如下所示:
$( document ).ready( function() {
function textShuffle() {
$("#text").shuffleLetters().fadeIn().delay(11000).fadeOut(400, Function() {
setTimeout(textShuffle, 12000);});
}
textShuffle();
});
答案 1 :(得分:0)
@ alexander-nied通过删除.shuffleLetters()其余脚本而工作正常之后,我意识到该功能需要600毫秒以上的时间才能完成,而且我无法确定完成任务所需的时间。
所以现在我在调用setTimeout()之前在#text中添加了promise()
function textShuffle() {
$( "#text" ).shuffleLetters().fadeIn().delay( 11000 ).fadeOut( 400 );
$( "#text" ).promise().done( function(){
setTimeout( textShuffle, 1 );
});
}