我正在尝试创建一个插件,该插件使用FadeIn,FadeOut依次显示屏幕上的元素。
该脚本同时显示了我的元素,但是我确实调用了,然后,在fadeOut之后,在回调上。我不知道那里发生了什么。
在其淡入,等待,淡出然后传递到下一个元素的元素中的每个元素。
有帮助吗?已经存在执行类似操作的插件吗?
编辑:抱歉,我忘了粘贴链接:
(function ($) {
let sentences;
let index;
$.fn.talk = function () {
sentences = this.find(".sentence");
index = -1;
showNextSentence(sentences, index);
};
function showNextSentence() {
++index;
if (index < sentences.length) {
sentences.eq(index % sentences.length)
.fadeIn(2000)
.delay(2000)
.fadeOut(2000, showNextSentence());
}
return null;
}
}(jQuery));
$('.talk').talk();
答案 0 :(得分:1)
更改
fadeOut(2000, showNextSentence())
收件人
fadeOut(2000, showNextSentence)
第一个版本将立即被调用,而不是在事件完成之后被调用