setTimeout中使用fadeOut的定时问题
Timing problem by using fadeOut in setTimeout
我的 jQuery 代码有问题。
开始时它显示带有随机效果的文本,然后在 11 秒后淡出并再次执行此操作。过了一会儿,我在洗牌效果的开始得到了淡出效果。
他们似乎 运行 在不同的时间线上。
$( document ).ready( function(){
function textShuffle() {
$( "#text" ).shuffleLetters().fadeIn().delay( 11000 ).fadeOut( 400 );
setTimeout( textShuffle, 12000 );
}
textShuffle();
});
我该如何解决这个问题。
也许你应该在 fadeOut 完成后调用递归方法,如下所示:
$( document ).ready( function() {
function textShuffle() {
$("#text").shuffleLetters().fadeIn().delay(11000).fadeOut(400, Function() {
setTimeout(textShuffle, 12000);});
}
textShuffle();
});
@alexander-nied 提到通过删除 .shuffleLetters() 其余脚本工作正常后,我意识到该函数需要超过 600 毫秒才能完成,我无法确定完成任务需要多少时间。
所以现在我在调用 setTimeout() 之前将 promise() 添加到 #text
function textShuffle() {
$( "#text" ).shuffleLetters().fadeIn().delay( 11000 ).fadeOut( 400 );
$( "#text" ).promise().done( function(){
setTimeout( textShuffle, 1 );
});
}
我的 jQuery 代码有问题。
开始时它显示带有随机效果的文本,然后在 11 秒后淡出并再次执行此操作。过了一会儿,我在洗牌效果的开始得到了淡出效果。
他们似乎 运行 在不同的时间线上。
$( document ).ready( function(){
function textShuffle() {
$( "#text" ).shuffleLetters().fadeIn().delay( 11000 ).fadeOut( 400 );
setTimeout( textShuffle, 12000 );
}
textShuffle();
});
我该如何解决这个问题。
也许你应该在 fadeOut 完成后调用递归方法,如下所示:
$( document ).ready( function() {
function textShuffle() {
$("#text").shuffleLetters().fadeIn().delay(11000).fadeOut(400, Function() {
setTimeout(textShuffle, 12000);});
}
textShuffle();
});
@alexander-nied 提到通过删除 .shuffleLetters() 其余脚本工作正常后,我意识到该函数需要超过 600 毫秒才能完成,我无法确定完成任务需要多少时间。
所以现在我在调用 setTimeout() 之前将 promise() 添加到 #text
function textShuffle() {
$( "#text" ).shuffleLetters().fadeIn().delay( 11000 ).fadeOut( 400 );
$( "#text" ).promise().done( function(){
setTimeout( textShuffle, 1 );
});
}